基于Element-UI el-table的动态显示列组件

本文介绍如何在Vue.js项目中,利用Element-UI的el-table组件实现动态显示或隐藏列的功能。通过封装FileTable组件,接收父组件传入的表格数据和表头信息,结合v-if和v-model控制el-table-column的显示状态,使用el-checkbox在弹出框中进行列的显示控制。最后展示了实现后的效果。
摘要由CSDN通过智能技术生成

基于Element-UI el-table的动态显示列组件

前言

由于公司要做的项目想要在页面上动态控制列表中某些列的显示与隐藏,但是element本身的el-table框架是没有这个功能的,只能自己把列表封装成一个组件,方便以后使用。

起步

Element官方的列表是这样的:在这里插入图片描述
显然,这个列表是无法满足我们的需求的
先创一个建名为FileTable的组件在这里插入图片描述

然后我们定义需要父组件传的值

 props: {
   
    tableData: {
    // 父组件传递过来的表格数据
      type: Array,
      default: () => {
   
        return []
      }
    },
    tableLabel: {
    // 父组件传递过来的表头数据
      type: Array,
      default: () => {
   
        return []
      }
    }
  },

引入Element官方的el-table组件:
1.绑定父组件传入的表格数据
2.循环父组件传入的表头数据 来生成el-table-column列
3.v-if绑定show属性控制该列是否显示

<el-table
      ref="filterTable"
      //data绑定父组件传入的表格数据
      :data="tableData"
      :max-height="tableHeight"
      size="small"
      row-class-name="row"
      cell-class-name="column"
      :highlight-current-row="true"
      fit
      :header-cell-style="headerStyle"
      :cell-style="{'text-align':'center'}"
      @cell-click="clickRow"
      @row-dblclick="rowdblclick"
      @selection-change="SelectChange"
    >
      <el-table-column :show-overflow-tooltip="true" sortable type="selection" width="45" />
      <el-table-column :show-overflow-tooltip="true" sortable type="index" :index="indexMethod" :cell-style="{'text-align':'center'}" style="text-align:center" label="ID" width="85">
  • 9
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值