我从JSON模型中获取数据并将其绑定到我的表上,并为每一行提供了一个删除图标,并尝试通过单击该图标删除该项目,以便从我的JSON模型中删除该项,但不从我的表中删除,那么如何删除它来自我的桌子。
var oModel1 = this.getView().byId("tblOpenAccess").getModel("newModel");
var oProperty = oModel1.getProperty("/dataProperty");
var delData = this.getView().byId("tblOpenAccess").getModel("newModel").getProperty("/dataProperty");
var deleteRecord = oArg.getSource().getBindingContext("newModel").getObject();
if (length > 1) {
for (i = 0; i < length; i++) {
if (delData[i] === deleteRecord) {
delData.splice(i,1);
oModel1.setProperty("/dataProperty", oProperty);
this.getView().byId("tblOpenAccess").getModel("newModel").refresh();
break;
}
}
} else {
MessageToast.show("Sorry it can't Delete");
}
答案 0 :(得分:1)
我正在使用辅助数组进行此类操作。
您的比较步骤适合您吗?你正在比较两个对象,对吗?要比较两个对象,只需使用JSON.stringify(obj)
。
var _helpArray = [];
for (i = 0; i < delData.length; i++) {
if (JSON.stringify(delData[i]) !== JSON.stringify(deleteRecord)) {
_helpArray.push(delData[i]);
}
}
oModel1.setProperty("/dataProperty", _helpArray);
如果您的绑定权限正确,您的表格将不再显示已删除的行。