问题描述
下午好,开发人员
我遇到一种情况,发现自己需要从模型中检索未决更改列表,并在将这些条目发送到后端之前编辑这些条目的特定属性。
这些是我使用OData模型v2的createEntry()
方法创建的新实体。但是,在创建上述实体时,我还不具备需要为其添加的价值。这是我在模型上使用getPendingChanges()
方法检索的实体的列表:
我需要做的是遍历每个新创建的实体,并在它们中设置特定的属性,然后再使用submitChanges()
方法将它们实际发送到我的后端。切记,这些是由createEntry()
方法创建的入口对象,并且仅在我的前端存在,直到我能够成功提交它们为止。
有什么想法可以指出正确的方向吗?我期待着您的来信!
解决方法
我能够通过以下方式解决此问题:
var oPendingChanges = this.model.getPendingChanges();
var aPathsPendingChanges = $.map(oPendingChanges,function(value,index) { return [index];});
aPathsPendingChanges.forEach(sPath => oModel.setProperty("/" + sPath + "/PropertyX","valueFGO"));
前两个指令检索出未决对象的整个列表,然后为每个单独的条目构建一个路径数组。然后,我使用该路径数组遍历未决更改列表,并在每次循环迭代中编辑所需的属性。特别感谢在answers.sap中提供的指导!