Добавьте прослушиватель событий в компоненты Flex внутри ретранслятора - PullRequest
0 голосов
/ 11 октября 2011

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

<mx:Repeater id="rp" dataProvider="{dataProvider}" width="100%">
   <mx:Button id="attach" creationComplete="addListeners(attach[rp.currentIndex])"/>
</mx:Repeater>

Это не работает.creationComplete не вызывается, пока повторитель не закончил вместо (как я ожидал), когда создание кнопки завершено.Я не уверен, как это сделать.

Кстати - я также попытался поместить creationComplete в родительский компонент в ретранслятор, но он будет вызываться только при первом отображении компонента (данные внутриретранслятор иногда меняется) так что не сработало.

1 Ответ

1 голос
/ 11 октября 2011

Если вы используете событие, определенное в метаданных, это может быть так просто, как добавление click = "myClickHandler (event)".Вы также можете сделать что-то вроде этого:

<yourNS:YourComponent id="foo>
    <creationComplete>
        <fx:Script>
            (foo[yourRepeater.currentIndex] as EventDispatcher).addEventListener('the event', yourEventHandler);
        </fx:Script>
    </creationComplete>
</yourNS:YourComponent >
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...