表格行数据传入修改表单弹窗修改时,会改变表格数据的问题
问题
将表格行数据赋值给表单,修改表单数据后,表格数据也会改。
原因
表单的数据是表格数据直接赋值,属于浅克隆。
浅克隆:被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原来的对象。
深克隆:被复制对象的所有变量都含有与原来的对象相同的值,除去那些引用其他对象的变量。那些引用其他对象的变量将指向被复制过的新对象,而不再是原有的那些被引用的对象。
解决
使用简单的深克隆
this.form = JSON.parse(JSON.stringify(row));