Flex Repeater组件

时间:2012-04-20 16:26:18

标签: actionscript-3 flex flex4 flex3

在flex 3中,我使用转发器组件在画布中创建了子组件。我想只对转发器创建的子组件之一进行更改。是否有任何方法或方法来访问特定的子组件并进行必要的属性更改?

<mx:Repeater id="myrep" dataProvider="{myAC}"> 
    <mx:Label id="Label1" text="This is button "/>
</mx:Repeater> 

在上面的代码中假设我创建了10个标签,我想仅在第5个标签中应用一些更改?可能吗。

由于

1 个答案:

答案 0 :(得分:1)

是的,这是可能的。

您可以访问转发器生成的组件,如下所示:

component_id[index]

因此,在您的情况下,要更改第5个元素的标签,您的代码将为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';