如果用户在“自定义控件”的输入字段中输入输入并提交了值,则要求ist将此值添加到模型并重新呈现视图。
调试显示该值已成功添加到模型中,但视图未重新呈现:
App.controller.js
onInit: function() {
// set mock model
var sPath = sap.ui.require.toUrl("xxx/custom") + "/feed.json";
var oModel = new JSONModel(sPath);
this.getView().setModel(oModel);
var oPage = this.getView().byId("xx-content");
var oCustomControl = new CustomControl("cc",{
messages: "{/data}"
});
oPage.addContent(oCustomControl);
}
CustomControl.js
...
_onMessageAdd: function (oEvent) {
var model = sap.ui.getCore().byId("cc").getModel().getProperty("/data");
var oData = {
text: "abc", text2: ["abc", "def"]
}
model.push(oData);
...
答案 0 :(得分:0)
您必须告诉模型您正在更新属性。因此,只需在“ model.push”之后添加此函数调用:
sap.ui.getCore().byId("cc").getModel().setProperty("/data", model);