0

Flex 3 では、リピーター コンポーネントを使用してキャンバスに子コンポーネントを作成しました。リピーターが作成した子コンポーネントの1つだけを変更したい。特定の子コンポーネントにアクセスし、必要なプロパティの変更を行う方法または方法はありますか?

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

上記のコードで、10 個のラベルを作成し、5 番目のラベルのみにいくつかの変更を適用したいとします。出来ますか。

ありがとう

4

1 に答える 1

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';
于 2012-04-20T17:55:31.730 に答える