Apache flex 如何在使用AddChild构建的TextInput上设置焦点属性?
我有以下MXML: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"
<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上设置焦点的方法。