2012-04-20 18 views
0

在flex 3中,我使用中繼器組件在畫布中創建了子組件。我只想對由repeater創建的子組件中的一個進行更改。是否有任何方法或方法來訪問特定的子組件並進行必要的屬性更改?Flex中繼器組件

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

在上面的代碼中假設我已經創建了10個標籤,並且我想僅在第5個標籤中應用一些更改?可能嗎。

謝謝

回答

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'; 
+0

1爲第五元素參考 – 2012-04-21 00:48:19

+0

真棒。謝謝。 – TrexTroy 2012-04-21 02:14:28