修改數組不「通知」的變化的列表,則」我們需要重新分配dataProvider。
var barColours:Array = new Array();
barColours = ["red", "green", "blue", "orange", "purple"];
comboBox.dataProvider = new DataProvider(barColours);
comboBox.addEventListener(Event.CHANGE, onChange);
comboBox.x = 670;
comboBox.y = 55;
minus_btn.addEventListener(MouseEvent.CLICK, takeAwayCol);
function takeAwayCol(ev:MouseEvent):void
{
barColours.pop();
comboBox.dataProvider = new DataProvider(barColours);
}
根據註釋EDITED
var barColours:Array = ["red", "green", "blue", "orange", "purple"];
var removedBarColours:Array = new Array();
comboBox.dataProvider = new DataProvider(barColours);
comboBox.addEventListener(Event.CHANGE, onChange);
comboBox.x = 670;
comboBox.y = 55;
minus_btn.addEventListener(MouseEvent.CLICK, takeAwayCol);
function takeAwayCol(ev:MouseEvent):void
{
//if you need to pull from the beginning of the list instead of the end use shift/unshift method(s) of Array
removedBarColours.push(barColours.pop());
comboBox.dataProvider = new DataProvider(barColours);
}
function addCol(ev:MouseEvent):void
{
barColours.push(removedBarColours.pop());
comboBox.dataProvider = new DataProvider(barColours);
}
太感謝你了!非常感謝 –
對不起,還有一種方法可以點擊另一個按鈕來添加那些已經取回到數組末尾的元素嗎? –
沒問題,是的,你不得不保留另一個數組與刪除的值,所以你只是將他們從一個列表轉移到另一個,我會盡快更新上面的代碼。 – shaunhusain