Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache flex 如何在使用AddChild构建的TextInput上设置焦点属性?_Apache Flex_Flex3_Mxml - Fatal编程技术网

Apache flex 如何在使用AddChild构建的TextInput上设置焦点属性?

Apache flex 如何在使用AddChild构建的TextInput上设置焦点属性?,apache-flex,flex3,mxml,Apache Flex,Flex3,Mxml,我有以下MXML: <mx:State name="myState"> <mx:AddChild relativeTo="{myhbox}" position="after"> <mx:Box verticalAlign="middle" horizontalAlign="center" width="100%" height="100%"> <mx:Form id="myForm" width="479"

我有以下MXML:

<mx:State name="myState">
    <mx:AddChild relativeTo="{myhbox}" position="after">
        <mx:Box verticalAlign="middle" horizontalAlign="center" width="100%" height="100%">
            <mx:Form id="myForm" width="479" verticalScrollPolicy="off" horizontalScrollPolicy="off">
                <mx:FormItem label="My Label:" fontWeight="bold" id="myLabel" direction="vertical">
                    <mx:TextInput id="myTextInput" width="282" />
                        <mx:HBox>
                            <mx:Button label="Go" click="go();" id="goButton" />
                        </mx:HBox>
                </mx:FormItem>
            </mx:Form>
        </mx:Box>
    </mx:AddChild>
</mx:State>

如何使用设置文本输入字段的焦点?我尝试了以下操作,但只会突出显示字段——光标不会出现在TextInput中:

<mx:SetProperty target="{stage}" name="focus" value="{myTextInput}"/>

长话短说,我希望光标出现在字段中


更新:我找到了答案。有关解决方案,请参阅注释。

我试图避免使用AddChild状态标记。通常最好将所有这些都放在一个组件中,并在需要显示时使用SetProperty设置visible和includeInLayout

始终可以替代自定义组件中的“可见”,以将焦点设置为字段。或者创建一个自定义setter,而不是做同样的事情

public function set show(value:Boolean):void
{
  visible = true;
  includeInLayout = true;
  if (value)
  myFunctionThatSetsTheFocus();
}
在TextInput中添加一个“creationComplete”,并让它调用一个方法,在TextInput上设置Focus

我找到了它。我在TextInput中添加了一个“creationComplete”,并让它调用一个在TextInput上设置焦点的方法。