在flex 3中,我使用中继器组件在画布中创建子组件。我只想在中继器创建的一个子组件中进行更改。是否有任何方法或途径来访问特定子组件并进行所需的属性更改?
<mx:Repeater id="myrep" dataProvider="{myAC}">
<mx:Label id="Label1" text="This is button "/>
</mx:Repeater> 在上面代码中,假设我已经创建了10个标签,并且我只想在第5个标签中应用一些更改?有没有可能。
谢谢
发布于 2012-04-21 01:55:32
是的,这是可能的。
你可以像这样访问中继器生成的组件:
component_id[index]所以在你的例子中,为了改变第五个元素的标签,你的代码应该是Label1[4].text='blah blah'。然而,以这种方式更改中继器生成的组件是一种不好的做法。相反,请使用绑定。
例如:
//...
[Bindable]
var myAC:ArrayCollection = new ArrayCollection(["label1","label2","label3","label4","label5","label6"]) ;
//...
<mx:Repeater id="myrep" dataProvider="{myAC}">
<mx:Label id="Label1" text="{myrep.currentItem}"/>
</mx:Repeater>
//Changing label of 5th element
myAC[4] = 'blah blah';https://stackoverflow.com/questions/10249938
复制相似问题