当前,我在页面中正在开发SAPUI5应用程序。我必须基于微服务中的数据动态创建ComboBox。
我遵循以下网址中的示例代码。 查看来源:https://sapui5.hana.ondemand.com/test-resources/sap/m/ComboBox.html
但是,它使我的组合框中的内容消失了
以下是我的示例代码。
$.ajax({
url: "json/customers.json",
dataType: 'json',
success: function(response){
var data= response;
console.log(data);
var customerModel = new JSONModel(data);
console.log(customerModel);
oController.getView().setModel(customerModel, "customerJSON");
var ExtensionForm = oController.getView().byId("Extension_Form");
ExtensionForm.addContent(new sap.m.ComboBox(oController.getView().createId(“ExtensionLabelId”), {
items: {
path: "{ComboBoxModel>/}",
template: new sap.ui.core.Item({
key: "{ComboBoxModel>CUSTOMER_NAME}",
text: "{ComboBoxModel>CUSTOMER_NAME}"
})
},
value : "{model2>/"+ keys[i] + "/fieldvalue}",
enabled: false
}));
},
error: function(error)
{
console.log("Error Message : " + JSON.stringify(error));
}
});
答案 0 :(得分:0)
我已经解决了。我只是删除了路径中的大括号{},现在对我来说效果很好。
以下是我的代码
$.ajax({
url: "json/customers.json",
dataType: 'json',
success: function(response){
var data= response;
console.log(data);
var customerModel = new JSONModel(data);
console.log(customerModel);
oController.getView().setModel(customerModel, "customerJSON");
var ExtensionForm = oController.getView().byId("Extension_Form");
ExtensionForm.addContent(new sap.m.ComboBox(oController.getView().createId(“ExtensionLabelId”), {
items: {
path: "ComboBoxModel>/",
template: new sap.ui.core.Item({
key: "{ComboBoxModel>CUSTOMER_NAME}",
text: "{ComboBoxModel>CUSTOMER_NAME}"
})
},
value : "{model2>/"+ keys[i] + "/fieldvalue}",
enabled: false
}));
},
error: function(error)
{
console.log("Error Message : " + JSON.stringify(error));
}
});