el-table动态列的显示与隐藏

本文探讨了在前端开发中,使用Element UI库通过多选框控制表格列显示与隐藏时遇到的表格抖动现象。问题源于列的动态增减引起表格布局重新计算。解决方案可能包括优化布局更新策略,避免频繁的DOM操作,或者使用固定列宽等方法来减少视觉上的抖动。
摘要由CSDN通过智能技术生成

一、具体实现效果

通过相关的多选框来控制是否显示或隐藏相关的列。

二、具体实现代码

1、相关多选框具体代码

<el-popover
        placement="bottom"
        width="180"
        trigger="click">
    <el-checkbox-group v-model="checkBoxSelected" @change="handleCheckedColChange">
        <el-checkbox v-for="col in checkBoxContent" :label="col.id" :key="col.id">{{col.title}}</el-checkbox>
    </el-checkbox-group>
    <el-button icon="el-icon-menu" slot="reference" size="mini" style="margin-right: 5px;"></el-button>
</el-popover>

2、相关表格具体代码

<div id="table">
    <el-table v-loading="loading" :key="toggleIndex" :header-cell-style="{textAlign: 'center'}" :cell-style="{textAlign: 'center'}"
              tooltip-effect="dark" ref="multipleTable" stripe @row-click="rowClick" :data="tableList"
              @selection-change="handleSelectionChange" height="calc(100vh - 256px)">
        <el-table-column v-for="(item, index) in checkBoxContent" sortable
                 v-if="item.isTrue"
                 :key="item.id"
                 :min-width="item.minWidth"
                 :label="item.title"
                 :prop="item.id">
        </el-table-column>
    </el-table>
</div>

3、相关数据的具体设计

checkBoxContent = [{id: '1', title: 'name', minWidth: '100', isTrue: true}]

三、所引起的问题——随着列的消失与隐藏,表格抖动

具体文章可参考:https://blog.csdn.net/weixin_44869002/article/details/118764494

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值