apache-flex Flex 4.x可折叠面板项目的子项在actionscript中未知

gpfsuwkq  于 2022-11-01  发布在  Apache
关注(0)|答案(2)|浏览(131)

我在Flex中有一个Accordion组件,它有两个子组件,在加载页面时,我想通过使用actionscript将第一个子组件中的文本字段的文本值赋给第二个子组件中的文本字段,但是失败了。
nb:当我单击secode子节点并返回以传递第一个子节点的textvalue时,操作成功!
第一个
单击“添加”时,我移动到第二个子项,但(mx:TextInput id=“doc_titre”)没有(s:TextInput id=“doc”/)的值
我第二次返回到子项1并单击“添加”,然后移动到第二个子项,并在(mx:TextInput id =“doc_titre”)中找到(s:TextInput id=“doc”)的值

flvlnr44

flvlnr441#

请改用createDefferedContent():

for (var i:int = 0; i < accordion.numChildren; i++)
{
    (accordion.getElementAt(i) as NavigatorContent).createDeferredContent();
}

这个方法在后台创建子对象和它们的组件。不要像我一样使用creationPolicy,因为这会导致内存相关的问题。

balp4ylt

balp4ylt2#

到底发生了什么?我认为您的问题可能是由于第二个子视图上的组件直到该视图打开时才创建,对此有许多解决方案,您可以在第二个视图的创建完成中编写一些代码,以加载正确的值,您可以使用数据绑定将文本输入绑定到同一个字符串,或者尝试将creationPolicy设置为all。我的回答是基于我以上的假设,所以如果我错了,请给予更多的细节。
检查此http://help.adobe.com/en_US/flex/using/WS2db454920e96a9e51e63e3d11c0bf69084-7cb8.html#WS2db454920e96a9e51e63e3d11c0bf69084-7ae5,并尝试将creationPolicy设置为all,然后让我们知道问题是否解决

相关问题