我想用包含数组(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>