Flex 3 - вызов функции внутри всплывающего компонента при каждом его открытии - PullRequest
0 голосов
/ 03 января 2012

Это будет действительно легко для кого-то, я уверен.Мне просто нужно знать событие, которое позволит мне вызывать функцию каждый раз, когда открывается всплывающее окно.

<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml"  width="400" 
height="120" title="Change Offer/Event Name" showCloseButton="true" close="PopUpManager.removePopUp(this)"
horizontalScrollPolicy="off" verticalScrollPolicy="off" creationComplete="init()">
<mx:Script>
    <![CDATA[
        import mx.controls.Alert;
        import mx.events.CloseEvent;
        import mx.managers.PopUpManager;

        private function init():void{
            txtNewName.text = parentApplication.cmbOfferName.selectedItem.TEMPLATENAME;
        }
    ]]>
</mx:Script>

<mx:Canvas width="374" height="74" horizontalScrollPolicy="off" verticalScrollPolicy="off">
    <mx:TextInput id="txtNewName" x="72" y="16" width="240"/>
    <mx:Label x="6" y="18" text="New Name"/>
    <mx:Button x="317" y="16" label="Ok" width="47" click="checkName()"/>
</mx:Canvas>

У меня есть функция init (), вызываемая в creationComplete, котораябудет вводить значение при первом открытии окна, но мне нужно, чтобы он вызывал функцию каждый раз, когда открывается всплывающее окно.Я попытался, активировать, creationComplete, AddedToStage, которые не работаютнесколько комбинированных списков в зависимости от того, какой холст я просматриваю.

Заранее спасибо

1 Ответ

0 голосов
/ 04 января 2012

Мне удалось решить это самому. На самом деле я использовал 'AddedToStage' в Компоненте TitleWindow. Единственная проблема с использованием addToStage заключается в том, что я пытался заполнить текстовый ввод во всплывающем окне, чтобы он еще не отображался. Чтобы обойти это, я просто добавил привязываемую переменную, к которой я добавил выбранное значение поля со списком, и добавил переменную в качестве поставщика данных для текстового поля в textInput.

...