工作中会接触到一些简单的flex应用,没找到二级菜单的控件,所以网上搜索了一下,自己实现了一个,比较简单。
首先,创建XMLList作为menuBar的数据源:
<mx:XMLList id="menuXMLList" xmlns="">
<menuItem id="menu1" label="菜单1">
<menuItem id="menu1_1" label="菜单1_子菜单1"/>
<menuItem id="menu1_2" label="菜单1_子菜单2"/>
</menuItem>
<menuItem id="menu2" label="菜单2">
<menuItem id="menu2_1" label="菜单2_子菜单1"/>
<menuItem id="menu2_2" label="菜单2_子菜单1"/>
<menuItem id="menu2_3" label="菜单2_子菜单1"/>
</menuItem>
</mx:XMLList>
然后创建menuBar,并添加数据源:
<mx:MenuBar dataProvider="{menuXMLList}" labelField="@label" itemClick="{menuHandler(event)}" />
其中menuHandler(event)是用来处理菜单的点击事件,内容如下:
private function menuHandler(event:MenuEvent):void {
if (event.item.@id == "menu1_1") {
//具体操作
} else if (event.item.@id == "menu1_2") {
//具体操作
} else if (event.item.@id == "menu2_1") {
//具体操作
} else if (event.item.@id == "menu2_2") {
//具体操作
} else if (event.item.@id == "menu2_3") {
//具体操作
}
}