表格行数据传入修改表单弹窗修改时,会改变表格数据的问题

问题

将表格行数据赋值给表单,修改表单数据后,表格数据也会改。

 

原因
表单的数据是表格数据直接赋值,属于浅克隆。
浅克隆:被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原来的对象。
深克隆:被复制对象的所有变量都含有与原来的对象相同的值,除去那些引用其他对象的变量。那些引用其他对象的变量将指向被复制过的新对象,而不再是原有的那些被引用的对象。

解决

使用简单的深克隆

  this.form = JSON.parse(JSON.stringify(row));

 

posted @ 2022-10-10 15:12  我太难了  阅读(44)  评论(0编辑  收藏  举报