不用深拷贝实现this.dataSource.forEach((item) => { let editItem = cloneDeep(item) this.$set(this.editableData, item.key, editItem) })
时间: 2024-03-10 17:45:55 浏览: 88
浅拷贝和深拷贝案例的代码
如果不使用深拷贝,那么修改editItem对象的属性值也会影响到this.dataSource中对应元素的属性值。如果你确定不需要进行深拷贝,可以直接将item对象作为属性值添加到this.editableData对象中,如下所示:
```
this.dataSource.forEach((item) => {
this.$set(this.editableData, item.key, item)
})
```
这样就可以将this.dataSource中的每个元素以item.key作为属性名,添加到this.editableData对象中,而且不需要进行深拷贝。但是需要注意的是,如果你在修改this.editableData中的元素时,需要同时修改this.dataSource中对应元素的属性值,否则会导致数据不一致的问题。
阅读全文