2017-04-10 97 views
-1

我創建了下拉菜單SAPUI5,但是當按下菜單列表時找不到詳細信息。等:當我點擊時,顯示來自JSON對象的名稱。獲取JSON對象下拉菜單SAPUI5

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對象表現出這個名字的時候Click按鍵,但沒有成功。如何解決它? 謝謝。

回答

0

儘可能多地理解您想從所選項目的當前上下文中獲取屬性的問題。

你可以嘗試:

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

與該代碼顯示錯誤「無法讀取屬性未定義‘的getProperty’」 – Albertus

+0

能否請您粘貼在這[jsbin]你的代碼(https://jsbin.com/sudetahoxe/1/edit?html,輸出)所以我可以進一步檢查? –

+0

[source](https://drive.google.com/file/d/0B6ht6OjY_2FjQjNsc2lLYW9LMU0/view?usp=sharing)< - link。 我上傳到谷歌驅動器,因爲使用XML和JS文件 – Albertus