SAPUI5在控制器中动态创建ComboBox

Cha*_*Hon 5 javascript ajax sapui5

目前我正在我的页面中开发 SAPUI5 应用程序。我必须根据微服务的数据动态创建组合框。

\n\n

我按照以下网址中的示例代码进行操作。\n查看源:https ://sapui5.hana.ondemand.com/test-resources/sap/m/ComboBox.html

\n\n

但是,它在我的组合框中返回空

\n\n

以下是我的示例代码。

\n\n
$.ajax({\n                    url: "json/customers.json", \n                    dataType: \'json\',\n                    success: function(response){\n                        var data= response; \n                        console.log(data);\n                        var customerModel = new JSONModel(data);\n                        console.log(customerModel);\n                        oController.getView().setModel(customerModel, "customerJSON");\n                        var ExtensionForm = oController.getView().byId("Extension_Form");\n\n                                ExtensionForm.addContent(new sap.m.ComboBox(oController.getView().createId(\xe2\x80\x9cExtensionLabelId\xe2\x80\x9d), {\n                                    items: {\n                                        path: "{ComboBoxModel>/}",\n                                        template: new sap.ui.core.Item({\n                                            key: "{ComboBoxModel>CUSTOMER_NAME}",\n                                            text: "{ComboBoxModel>CUSTOMER_NAME}"\n                                        })\n                                    },\n                                    value : "{model2>/"+ keys[i] + "/fieldvalue}",\n                                    enabled: false\n                                }));\n                    },\n                    error: function(error)\n                    {\n                        console.log("Error Message : " + JSON.stringify(error));\n                    }\n                });\n
Run Code Online (Sandbox Code Playgroud)\n

Cha*_*Hon 4

我已经解决了。我只是删除了路径中的大括号 {},现在非常适合我。

\n\n

以下是我的代码

\n\n
$.ajax({\n                    url: "json/customers.json", \n                    dataType: \'json\',\n                    success: function(response){\n                        var data= response; \n                        console.log(data);\n                        var customerModel = new JSONModel(data);\n                        console.log(customerModel);\n                        oController.getView().setModel(customerModel, "customerJSON");\n                        var ExtensionForm = oController.getView().byId("Extension_Form");\n\n                                ExtensionForm.addContent(new sap.m.ComboBox(oController.getView().createId(\xe2\x80\x9cExtensionLabelId\xe2\x80\x9d), {\n                                    items: {\n                                        path: "ComboBoxModel>/",\n                                        template: new sap.ui.core.Item({\n                                            key: "{ComboBoxModel>CUSTOMER_NAME}",\n                                            text: "{ComboBoxModel>CUSTOMER_NAME}"\n                                        })\n                                    },\n                                    value : "{model2>/"+ keys[i] + "/fieldvalue}",\n                                    enabled: false\n                                }));\n                    },\n                    error: function(error)\n                    {\n                        console.log("Error Message : " + JSON.stringify(error));\n                    }\n                });\n
Run Code Online (Sandbox Code Playgroud)\n