获取JSON对象下拉菜单SAPUI5

时间:2017-04-10 07:33:40

标签: json xml sapui5

我创建了下拉菜单SAPUI5,但是当我按下菜单列表时找不到详细信息。 etc:当我点击时,显示JSON对象的名称。

json:

    dropdownMenu: {
        kepesertaan:[
            {
                name: "Menu1",
                icon: "sap-icon://crop",
                sub: [
                    { 
                        name: "Submenu1-1",
                        icon: "sap-icon://create-session"   
                    },
                    { 
                        name: "Submenu1-2",
                        icon: "sap-icon://create-form" 
                    }
                ]
            },
            {
                name: "Menu2",
                icon: "sap-icon://detail-view",
                sub: [
                    { 
                        name: "Submenu2-1",
                        icon: "sap-icon://add-activity" 
                    },
                    { 
                        name: "Submenu2-2",
                        icon: "sap-icon://action" 
                    }
                ]
            },
            {
                name: "Menu3",
                icon: "sap-icon://delete",
                sub: [
                    { 
                        name: "Submenu3-1",
                        icon: "sap-icon://add-favorite" 
                    },
                    { 
                        name: "Submenu3-2",
                        icon: "sap-icon://add-document" 
                    }
                ]
            }               
        ]
}       

XML片段:

<core:FragmentDefinition
    xmlns="sap.m"
    xmlns:core="sap.ui.core"
    xmlns:u="sap.ui.unified">
        <u:Menu items="{kepesertaanmodel>/}" id="menuEventingKepesertaan"
            itemSelect="handleMenuItemPressKepesertaan">
            <u:MenuItem
                text="{kepesertaanmodel>name}"
                icon="{kepesertaanmodel>icon}">

                <u:Menu items="{kepesertaanmodel>sub/}" id="submenuEventingKepesertaan"
                        itemSelect="handleSubMenuItemPressKepesertaan">
                    <u:MenuItem
                        text="{kepesertaanmodel>name}"
                        icon="{kepesertaanmodel>icon}"/>
                </u:Menu>
            </u:MenuItem>
        </u:Menu>
</core:FragmentDefinition>
控制器中的

handleMenuItemPressKepesertaan: function(oEvent) {
    MessageToast.show(oEvent.getParameter("item").getModel("kepesertaanmodel").getProperty("/").name);
}

我希望在单击按下时显示JSON对象中的名称,但是失败了。怎么解决? 感谢。

1 个答案:

答案 0 :(得分:0)

尽管我理解你想要从所选项目的当前上下文中获取属性的问题。

您可以尝试:

oEvent.getParameter("item").getBindingContext().getProperty("name");