element-ui table组件编辑后数据更新视图不更新

本文记录了在使用el-table组件时遇到的数据更新后视图未刷新的bug及解决过程。问题在于直接修改数组元素导致视图无法感知变化,通过使用splice方法强制更新数组,从而解决了视图不刷新的问题。

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

记录今天遇到的一个小bug

使用el-table实现表格的增删改
信息未编辑之前
在这里我的表格数据源绑定的是rolesList,选中的当前行是role;我们将所需的信息打印出来
在这里插入图片描述

信息编辑后
可以看出我当前的数据已经更改,但我的视图信息并没有更改,查找解决方案后尝试了给表头增加一个row-key=“id”,确保每一行的id是唯一的,仍然不行。(这个建议大家先进行尝试)

最终解决方案:发现是由于我的数据结构的问题,我是用的是数组,我通过this.role改变的只是数组指向的那个数据,但数组指向的地址并没有发生更改,也就是说数组本身并不知道自己发生了改变。
最后加了一句这个解决。因为splice方法处理后的数组会将数组处理结果返回给原数组。所以相当于显示的提醒数组进行了更新。

this.rolesList.splice(1,0);

tips:数组变为逗号相隔的字符串并且去掉末尾的逗号

	  let str = ''
      this.checkData.forEach(item => {
        str += item + ', '
      })
      this.editForm.role = str.substring(0, str.lastIndexOf(','))
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值