Flex компонентная связь - PullRequest
       11

Flex компонентная связь

0 голосов
/ 15 февраля 2010

Я использую всплывающее окно, загруженное из другого файла MXML:

private function showAddPopUp():void{
    addPopUP = PopUpManager.createPopUp(this, add_popup, true);
    PopUpManager.centerPopUp(addPopUP);
}

Этот файл выглядит следующим образом (add_popus.mxml):

<mx:VBox width="100%" height="100%" paddingLeft="5" paddingTop="5" paddingRight="5" paddingBottom="5">
    <mx:Label text="Enter name of the source:" />
    <mx:TextInput width="100%" id="textName" />
    <mx:Label text="Enter URL for the source:" />
    <mx:TextInput width="100%" id="textURL" />
    <mx:HBox width="100%">
        <mx:Button label="OK" id="buttonOK" textAlign="center"/>
        <mx:Button label="Cancel" id="buttonCancel" click="PopUpManager.removePopUp(this)" textAlign="center"/>
    </mx:HBox>
</mx:VBox>

Проблема в том, что я не знаю, как передать текстовые значения из текстового ввода в основной компонент после нажатия кнопки OK во всплывающем окне. Я пробовал настраиваемые события, но это не сработало. Документация не очень полезна. Буду признателен за любые идеи.

Полный код здесь: http://github.com/jbajor/Newspapair

1 Ответ

1 голос
/ 15 февраля 2010

Отправка события от нажатия кнопки

<!-- AddPopUp.mxml -->
<mx:Button label="OK" id="buttonOK" textAlign="center" 
    click="dispatchEvent(new Event(POPUP_DONE))"/>
<mx:Script>
<![CDATA[
    public static const POPUP_DONE:String = "popupDone";
]]>
</mx:Script>

И послушай это в другом классе. event.target даст вам указатель на всплывающее окно.

private function showAddPopUp():void
{
    var addPopUp:AddPopup = PopUpManager.createPopUp(this, add_popup, true);
    addPopUp.addEventListener(AddPopUp.POPUP_DONE, onPopupDone);
    PopUpManager.centerPopUp(addPopUP);
}
private function onPopupDone(e:Event):void
{
    var popup:AddPopUp = AddPopUp(e.target);
    trace(popup.textName.text);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...