Flex 4:DropDownList在新窗口中不起作用

时间:2010-10-29 15:20:41

标签: flex flex4 air

在这段代码中,当我点击按钮时,我正在创建一个新窗口。在新窗口中有TextInput和DropDownList组件。当新窗口打开时,单击DropDownList不会执行任何操作 - 您必须再次单击它以使其打开。但是,首先单击TextInput字段然后尝试打开DropDownList工作没问题。

出现这种情况的原因是什么?这是一个错误还是我做错的事情? Flex 4.1和Flex Hero(2010年9月发布)会出现此问题。

以下是代码,或下载FXP文件here

// DropDownTest.mxml (application)
<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" 
                       xmlns:s="library://ns.adobe.com/flex/spark" 
                       xmlns:mx="library://ns.adobe.com/flex/mx"
                       width="400" height="300">
    <fx:Script>
        <![CDATA[
            private function newWindow():void
            {
                this.close();

                var w:MyWindow = new MyWindow();
                w.open();
            }
        ]]>
    </fx:Script>
    <s:Button label="New Window" click="newWindow()"/>
</s:WindowedApplication>

// MyWindow.mxml (component)
<?xml version="1.0" encoding="utf-8"?>
<s:Window xmlns:fx="http://ns.adobe.com/mxml/2009" 
            xmlns:s="library://ns.adobe.com/flex/spark" 
            xmlns:mx="library://ns.adobe.com/flex/mx"
            width="400" height="300">
     <s:TextInput/>
     <s:DropDownList y="30"/>
</s:Window>

1 个答案:

答案 0 :(得分:0)

原来这是一个错误。 Adobe建议在“open()”之后调用“setFocus()”并且它有效。有关详细信息,请参阅此处:http://forums.adobe.com/message/3241460#3241460