【问题标题】:Flex 3 - Calling a function within a popup component every time it is openedFlex 3 - 每次打开弹出组件时调用一个函数
【发布时间】:2012-01-03 16:48:39
【问题描述】:

对于我确定的人来说,这将是一件非常容易的事情。我只需要知道每次打开弹出窗口时允许我调用函数的事件。

<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>

我在 creationComplete 中调用了 init() 函数,它将在第一次打开窗口时引入该值,但我需要它在每次打开弹出窗口时调用该函数。我试过了,activate,creationComplete,addedToStage,都不管用。

另外请注意,我不能只将文本输入的文本属性设置为可绑定到组合框,因为我可能会根据我正在查看的画布从多个组合框中进行选择。

提前致谢

【问题讨论】:

    标签: actionscript-3 apache-flex popup flex3


    【解决方案1】:

    我自己设法解决了。事实上,我确实在 TitleWindow 组件中使用了“addToStage”。使用 addedToStage 的唯一问题是我试图在弹出窗口中填充文本输入,因此尚未呈现。为了解决这个问题,我简单地添加了一个可绑定变量,我将选定的组合框值添加到该变量中,并将该变量添加为 textInput 上文本字段的数据提供者。

    【讨论】:

      猜你喜欢
      • 2018-08-19
      • 1970-01-01
      • 2011-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多