【vue】element-ui el-table使用v-if来控制列的显示隐藏 出现列位置错乱问题

文章讲述了在Vue.js使用ElementUI表格组件时,通过v-if进行列隐藏后出现列位置和数据错乱的原因,这主要是因为Vue的DOM复用机制。为了解决这个问题,文章建议给每个列添加独特的key值,以确保每一列在隐藏和显示时能正确识别和更新。

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

问题描述

根据需求,当某一项列数据根据某属性等显示隐藏该列,使用v-if进行隐藏后,发现会有随机列位置错乱与数据错乱现象

原因

这是因为在v-for或者v-if切换标签时,多个相同的标签被渲染,如果不添加key来区分则会出现复用的情况。
而原本这些标签每一个都是独立的,于是需要添加key来做区分!
表格是element-ui通过循环产生的,而vue在dom重新渲染时有一个性能优化机制,就是相同dom会被复用,这就是问题所在,所以,通过key去标识一下当前行是唯一的,不许复用,列唯一,就可以解决

解决

给列加key值

<el-table-column
 :key="1"
>
</el-table-column>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值