Обработка событий от пользовательского события ItemRenderer в DataGroup

У меня есть приложение MXML с DataGroup следующим образом:

<s:DataGroup id="productSelector"
             dataProvider="{products}"
             itemRenderer="renderers.ProductLineupRenderer"
             >
    <s:layout>
        <s:HorizontalLayout/>
    </s:layout>
</s:DataGroup>

Я хочу знать, когда объектами в моем itemRenderer управляют. У меня есть itemRenderer отправка класса пользовательские события.

То, что я раньше делал, использовать mx:repeater:

<mx:Repeater id="r" dataProvider="{configuration.products}">
    <components:ProductEncapsulationView 
                    product="{r.currentItem}"
                    highlightProduct="highlightProduct( event.selectedProduct )"
                    unhighlightProduct="clearHighlight()"
                    selectProduct="makeProductSelection( event.selectedProduct )"
</mx:Repeater>

где я могу легко присвоить события, прибывающие из itemRenderer класса в компонент агрегирования текущего представления. (highlightProduct, unhighlightProduct, selectProduct)

Я не уверен в том, как сделать это в DataGroup или даже компоненте Списка. Но я хотел бы использовать разметки DataGroups и другой большой материал, который Вы получаете с платформой искры.

1
задан zero323 19 July 2015 в 13:00
поделиться

2 ответа

Читая прошлые сообщения на форумах Adobe (http://forums. adobe.com/message/2902862):

Shongrunden показывает, как вызывать события itemRenderer из объекта DataGroup:

<s:ItemRenderer ... click="sendEvent()">
  <fx:Script>
    <![CDATA[
      import spark.components.DataGroup;

      private function sendEvent():void {
        (owner as DataGroup).dispatchEvent(new MyCustomEvent());
      }

    ]]>
  </fx:Script>
  ...
</s:ItemRenderer>

Мне кажется, что я могу заставить это работать, добавив пользовательские обработчики событий во время DataGroup.creationComplete и вызывая их из itemRenderer, как указано выше. Поскольку в примере с повторителем для каждого элемента назначается одна и та же функциональность обработчика, не имеет значения, кто вызывает функции, лишь бы они выполнялись на этом уровне.

Это не такой MXML-inline, как раньше, требующий большего количества обработчиков. Но это позволяет использовать компоненты spark для примера.

1
ответ дан 2 September 2019 в 23:23
поделиться

Вы можете отправлять события от средств визуализации элементов, у которых для свойства пузырьков установлено значение true. Это означает, что они достигнут группы данных или родительской группы данных, в которую вы можете добавить слушателя.

0
ответ дан 2 September 2019 в 23:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: