遍历createEntry创建的对象列表,并在执行SubmitChange之前编辑其属性

问题描述

下午好,开发人员

我遇到一种情况,发现自己需要从模型中检索未决更改列表,并在将这些条目发送到后端之前编辑这些条目的特定属性

这些是我使用OData模型v2的createEntry()方法创建的新实体。但是,在创建上述实体时,我还不具备需要为其添加的价值。这是我在模型上使用getPendingChanges()方法检索的实体的列表:

list  of entry objects created by createEntry() method

我需要做的是遍历每个新创建的实体,并在它们中设置特定的属性,然后再使用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中提供的指导!