0
2つの配列を持っています& 2つのチェックボックスリピーター:最初の項目から2つ目の項目を取り込みます。私は項目を問題なく追加することができます。アイテムが最初のチェックボックスリピータから選択解除されると、そのアイテムを削除するにはどうすればよいですか?配列から項目を削除する
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
creationComplete="updateOlder();"
>
<fx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
[Bindable]
public var older:ArrayCollection = new ArrayCollection ([]);
[Bindable]
public var newer:ArrayCollection = new ArrayCollection ([]);
private function updateOlder():void{
older.addItem({label:"item1",desc:"desc1"});
older.addItem({label:"item2",desc:"desc2"});
older.addItem({label:"item3",desc:"desc3"});
}
private function updateNewer(evt:MouseEvent):void{
if(evt.target.selected) {
// add item to array
newer.addItem({ label:evt.currentTarget.label, desc:evt.currentTarget.data });
newer.refresh();
}
else {
// remove item from array
newer.removeItemAt(newRepeater.currentIndex.valueOf());
newer.refresh();
}
}
]]>
</fx:Script>
<mx:HBox width="100%" height="100%">
<mx:VBox width="100%" height="100%">
<mx:Repeater id="oldRepeater" dataProvider="{older}">
<mx:CheckBox color="black" fontFamily="Arial" fontSize="14"
label="{oldRepeater.currentItem.label}"
data="{oldRepeater.currentItem.desc}"
click="updateNewer(event);"
/>
</mx:Repeater>
</mx:VBox>
<mx:VBox width="100%" height="100%">
<mx:Repeater id="newRepeater" dataProvider="{newer}">
<mx:CheckBox color="red" fontFamily="Arial" fontSize="14"
label="{newRepeater.currentItem.label}"
data="{newRepeater.currentItem.desc}"
/>
</mx:Repeater>
</mx:VBox>
</mx:HBox>
</mx:Application>