Зареждане и настройка на запазена стойност за меню във Flex

Имам просто изскачащо меню във flex, mx Menu и използвам Menu.initMenu, за да създам менюто, разчитайки на XML списък, дефиниран като доставчик на данни.

Менюто има елементи в полето за отметка и всеки път, когато извикам функция load(values:Array) в класа, който съдържа екземпляра на менюто, искам да проверя съответните елементи.

Как да заредя динамично стойности и да променя селекциите в менюто?


person mik    schedule 24.01.2012    source източник


Отговори (1)


Добре, разбрах :

  1. настройте менюто и дайте на ВСЕКИ елемент от менюто атрибут етикет:

    private var subMenuDataMain:XMLList = new XMLList(
        "<menuitem label='Title' icon='' enabled='false'/>" +
        "<menuitem label='' type='separator'/>" +
        "<menuitem label='SHOW_DEMO' type='check' eventName='SHOW_DEMO' />" +
        "<menuitem label='' type='separator'/>");
    
  2. създайте спомагателна функция за включване на елементи от менюто за даден етикет (ако това е елемент от менюто на 2 нива, осигурете също subMenuID, който е името на етикета на втория елемент):

        function toggleMenuItem(menuID:String, subMenuID:String, toggle:Boolean):void
        {
            if (subMenuID != "")
                subMenuDataSets.(@label == menuID).menuitem.(@label == subMenuID).@toggled = toggle;
            else
                subMenuDataSets.(@label == menuID).@toggled = toggle;
        }
    
  3. имплементира функция, която инициализира стойностите на менюто:

    public function setMenuOptions(obj:SampleObject):void {
        toggleMenuItem("SHOW_DEMO", "", (obj.demoISShown());
     }
    
person mik    schedule 29.01.2012