2017-08-24 49 views
-1

如何將按鈕動態添加到從oModel獲取數據的自定義列表項中?SapUI5:如何動態地將按鈕添加到CutomListItem(xml)中?

XML:

<List items="{msgData>/msgData}" > 
<CustomListItem> 
    <MessageStriptext="{msgData>Text}"></MessageStrip> 


     <List items="{msgData>buttons}"> 
      <CustomListItem> 
       <Button text="{text}" press="onFedYes" class="sapUiTinyMarginEnd"/> 
      </CustomListItem> 
     </List> 


</CustomListItem> 
</List> 

JS:

var oModel = this.fragment.getModel("msgData"); 
     var Buttons = [ 
      {"text": "Apple"}, 
      {"text": "Orange"}, 
      {"text": "Banana"} 
     ]; 

      oModel.oData.msgData.push({ 
       Type : "Information", 
       buttons:Buttons 
      }); 
oModel.refresh(); 

更新的代碼

+0

你叫'動態'是什麼?在用戶操作? –

+0

在JAVASCRIPT中,附加到現有模型 – Eli

+0

我需要創建新模型嗎?我只需要將按鈕添加到當前自定義列表對象中 – Eli

回答

1

更新模型代碼看起來應該是這樣

var oModel = this.fragment.getModel("msgData"); 
    var buttons = oModel.getProperty('/msgData/buttons'); 
    buttons.push(<..new button..>); 
    oModel.setProperty('/msgData/buttons', buttons); 

這將重新呈現列表項目與新添加按鈕

+0

thanx,但是XML代碼應該是什麼樣子? – Eli

+0

當前的XML是否正常?我不明白你的問題 –

+0

我已更新我的代碼,看看它 – Eli

相關問題