element表格编辑行时候数据被绑定

今天遇到点坑,做资料编辑的时候,发现取到表格行数据后,赋值到视图显示出来,发现和表格同步绑定了。直接就改变了表格本身的内容。
在这里插入图片描述
一般合理做法都是点击编辑的时候,获取到编辑行数据,然后赋值到编辑视图渲染出来,同时赋值给新的对象,提交的时候提交新对象。

			/**
			 * 表单模态框编辑
			 */
			showEditDialog(index,row) {
				console.log('当前编辑行数据',row);
				this.editForm = row; //为毛这里是赋值,但是却是和表格当前row是绑定状态?
				this.editDealogVisible = true;
			},

上面row已经赋值了新对象editForm,视图也是渲染了editForm对象数据,但是修改editForm时候,居然列表对象也跟着边了。后来发现要单个属性赋值。上面代码改成如下即可解决。

/**
			 * 表单模态框编辑
			 */
			showEditDialog(index,row) {
				console.log('当前编辑行数据',row);
				this.editForm.username = row.username; //只有这样赋值才不会影响到row本身变化,否则回同步
				this.editDealogVisible = true;
				
			},

上面方法虽然解决了,但明显不够合理,因为我们每个页面参数都不一样,不可能每个界面都去写一次参数,必须要动态,查了下就有了更合理的解决方案,因为学后端,js渣渣,所以具体理也不懂,只知道这样可以解决问题了。

/**
			 * 表单模态框编辑
			 */
			showEditDialog(index,row) {
				console.log('当前编辑行数据',row);
				this.editForm = JSON.parse(JSON.stringify(row));
				this.editDealogVisible = true;
			},

为什么一定要序列化才能呢。不懂,懂的请讲解下。谢谢

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

想尝一尝被打赏的味道

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值