console.log(this.dataSource); for (let key in this.editableData) { const item = this.dataSource.filter((item) => key === item.key) if (!item) { throw new Error(`Object with key ${key} not found in this.dataSource`) } Object.assign(item, this.editableData[key]) this.$set(this.editableData, key, null) } // 删除 key 为 0 的键值对 delete this.editableData['0'] 这样保存成功但是没有更新编辑的数据
时间: 2024-03-06 10:51:39 浏览: 79
com.bea.core.datasource6_2.0.0.0.jar
根据你提供的代码,我发现 `filter` 方法返回的是一个数组,而不是单个对象。因此,如果想要访问数组中的第一个对象,需要使用 `item[0]` 的方式进行访问。修改代码如下:
```
console.log(this.dataSource);
for (let key in this.editableData) {
const item = this.dataSource.filter((item) => key === item.key)[0]; // 修改这行代码
if (!item) {
throw new Error(`Object with key ${key} not found in this.dataSource`);
}
Object.assign(item, this.editableData[key]);
this.$set(this.editableData, key, null);
}
// 删除 key 为 0 的键值对
delete this.editableData['0'];
```
这段代码将 `item` 的取值改为 `this.dataSource.filter((item) => key === item.key)[0]`,也就是取数组中的第一个元素。这样就可以访问到数组中的对象了。
如果你仍然遇到问题,请提供更多的代码细节,以便我更好地帮助你解决问题。
阅读全文