0
使用actionscript 3,有人可以舉例說明如何動態更改下面的子菜單項?Flex/AS3/XML:如何動態更改用於Flex子菜單的XMLList?
<fx:Declarations>
<fx:XMLList id="menuData" xmlns="">
<menuitem label="Column A">
<menuitem label="Item A.1"/>
<menuitem label="Item A.2"/>
</menuitem>
<menuitem label="Column B">
<menuitem id="ItemB1" label="B.1"/>
<menuitem type="separator"/>
<menuitem label="Item B.2" type="check"/>
<menuitem label="Item B.3" type="check"/>
<menuitem id="myId" label="Item B.4">
<menuitem label="SubItem B.4.1"/>
<menuitem label="SubItem B.4.2"/>
</menuitem>
</menuitem>
...
</fx:XMLList>
<fx:Declarations>
...
<mx:MenuBar dataProvider="{menuData}" .../>
例如,假設我們要替換子菜單項B.4.1和B.4.2有:通過其標籤
<menuitem label="SubItem abc"/>
<menuitem label="SubItem def"/>
<menuitem label="SubItem ghi"/>
謝謝ndm,這是我非常想找的。我爲項目B.4添加了一個ID。如上所示,我如何通過Id獲取該項目?會是:var item:XMLList = menuData..menuitem。(@ id =='myId')'?我是否需要使其中一個變量可綁定才能進行更改?謝謝 – ggkmath
只需交換E4X表達式中的值,即用'id'替換'label',用'myId'替換'Item B.4'。我只建議使用一個ID,以便您可以在不中斷訪問表達式的情況下更改標籤。 – ndm
不,你不需要做任何可綁定的事情,XMLList已經被綁定爲一個數據存儲器,並且MenuBar組件將自動註冊對它進行的更改。 – ndm