解決element-ui中,在表單中修改數據,表格的數據也跟着修改的問題


問題:在表單中修改數據,經常遇到表格的數據也跟着修改的問題,並且不管是不是按確定或取消按鈕,表格的數據還是被修改了。
部分代碼如下:

editRow(row: any): void {
    this.currentInfo = row;
    this.dialogVisible = true;
    this.title = '更新信息';
  }

問題原因:

this.currentInfo = row;

這段代碼中,row是Object對象類型,如果直接賦值的話,就變成了淺拷貝,復制的是地址,導致在表單中改變值的時候table中的數據也跟着改變,所以要進行深拷貝。

解決方案:利用JSON進行深拷貝

editRow(row: any): void {
    this.currentInfo = JSON.parse(JSON.stringify(row));
    this.dialogVisible = true;
    this.title = '更新信息';
  }

PS:js中有兩種不同的數據類型,一個是基本類型,一個是引用類型,其中Object是引用類型(這里使用的是typescript,原理與js相同)

 

原文鏈接:https://blog.csdn.net/SmallTeddy/article/details/106542890


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM