使用el-table过程中current-change事件获取当前选中行数据,用于修改框数据出现数据联动

本文探讨了在使用Vue.js和Element UI组件库时遇到的数据同步问题,特别是el-tree与el-table之间的数据交互导致的意外修改。当直接使用赋值操作更新数据时,由于JavaScript对象的引用特性,修改一处数据会导致其他相关数据同时变更。为了解决这个问题,文章提出了使用`Object.assign()`来深拷贝对象,确保修改不会影响原始数据。这一方法有效地防止了el-tree和el-table在数据更新时的同步问题,保证了用户界面的正确显示和独立编辑功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题:

使用el-tree的node-click事件获取选中节点的信息,之后将 节点信息渲染到右侧table表格中,使用el-table的current-change事件获得当前所选中行的数据,然后将数据赋值给修改框的数据源,在修改框中修改数据时出现el-tree,el-table数据同时更改的情况,数据传递使用this指向data中的数据

原因:

使用 = 将一个对象赋值给另一个对象,因为js对象为引用型,赋值就是改变对象地址指向,所以造成了修改一个数据另外数据也变动的情况

解决:

a = Object.assign( { } , b )

a会复制一份b,两者地址不同

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值