用js数组中的值在view.xml中填充我的列表



我想用包含数组(arr)的对象的值填充view.xml的列表。我之前通过web服务从SAP软件获得对象。

Test.view.xml:

<HBox>
                            
   <List id="select_menu" visible="hidde" mode="SingleSelectMaster" selectionChange="onDetail">
         <StandardListItem title="{Id}" />
   </List>
</HBox>

test.controller.js:

        onTest: function(){
            var itemTemplate = new sap.m.StandardListItem({
                title : "{Id}",             
                icon: "icons/yellow_sign_micro.png",                
                iconInset: false,               
                customData: [               
                new sap.ui.core.CustomData({                
                key: "flag",                
                value: "false"              
                })]
                });
            this.getView().byId("select_menu").bindAggregation("items", {
                path: arr,
                template: itemTemplat               
                })
        }
    });
var myModel = new sap.ui.model.json.JSONModel();
myModel.setData(yourResponseFromWebservice);

不需要用JS创建控件。您可以使用XML进行绑定。在JSON模型中编写数据,并通过items将模型与列表绑定。


 <List items="{myModel>/items}" id="select_menu" visible="hidden" mode="SingleSelectMaster" selectionChange="onDetail">
    <items>
        <StandardListItem icon="icons/yellow_sign_micro.png" title="{myModel>Id}" >
        <customData>
          <core:CustomData key="flag" value="false" writeToDom="true" />
       </customData>
       </StandardListItem>
    </items>
 </List>

最新更新