关于纯前端编辑遇到的深拷贝问题

这段代码展示了在前端如何处理表格数据的编辑操作。当点击编辑按钮时,将选中行的记录复制到editForm,然后在确认提交时,遍历tableData和tableData2,根据key找到对应项并更新其值,确保数据同步。最后关闭编辑模态框并更新加载状态。
摘要由CSDN通过智能技术生成
 openEditinfo(text,record,index){  //点击编辑
                this.visible1=true;
                this.editForm={...record}  //record表示tableData每一项的值,将record赋给editForm,如果后续对editForm进行一些操作的时候就不会影响到record
                console.log("this.tableData",this.tableData);
            },
  submitEdit(){  //确认提交编辑
              this.confirmLoading = true;
              console.log("editForm",this.editForm);
               setTimeout(() => {
                this.tableData.forEach((item,index)=>{  //先使用foreach对表格数据进行遍历
                  if(item.key==this.editForm.key){
                  this.tableData[index]={...this.editForm}  
                  //将editForm里面的所有值赋值给tableData中的每一项
                   console.log("执行");
                  }
                })
                 this.tableData2.forEach((item,index)=>{
                  //tableData2表示单独的数据,里面内容和tabelData一致,这里主要是在搜索之后点击清除可以回到主页面
                  if(item.key==this.editForm.key){
                  this.tableData2[index]={...this.editForm}
                   console.log("执行");
                  }
                })
              console.log("this.tableData",this.tableData);
              this.tableData=[...this.tableData]  //再将上一步拿到的tabelData重新赋值给tableData
              this.tableData2=[...this.tableData2] 
               this.visible1 = false;
               this.confirmLoading = false;
             }, 2000);
            },
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值