v-show控制el-table-colunm不生效,用v-if 标题栏样式走样,乱序问题

问题描述
需求:表格checkbox的这一列需要做显示隐藏控制,满足条件的才能显示这一列。
问题:在使用el-table的时候,遇到对el-table-column显示与隐藏的控制时,使用v-show不生效,使用v-if样式不对。
用v-if 标题栏样式走样,乱序

原因分析:
v-show起作用的本质是display:none,而因为td的display: table-cell;权限高于display:none,所以v-show失效;
v-if切换标签显示隐藏时,多个相同的标签被渲染,需要使用key来区分,否则就会出现多个复用的情况

解决方案:
给对应列加上key

<el-table-column
  v-if="selection"
  key="selectionId"
  label="全选"
  type="selection"
  align="left"
  :width="selectionWidth"
/>
posted @ 2025-01-09 11:31  盘思动  阅读(804)  评论(0)    收藏  举报