vue element表格动态表头、动态列

<span v-click-outside="hideChoose" class="icon-choose fr pointer mr10" @click="showChoose">
        <div v-show="isChooseCols" class="cols-choose-list">
          <el-checkbox :key="index" v-model="item.isshow" :label="item.title" v-for="(item, index) in tableData" />
        </div>
      </span>
    
<el-table
        :data="tableData[0].detail"
        border
        style="width: 100%;"
        class="table-info bgf"
        header-row-class-name="lm-header-row"
        cell-class-name="lm-cell"
        empty-text="暂无数据"
        tooltip-effect="dark"
      >
        <el-table-column
          type="index"
          label="序号"
          width="70"/>
        <template v-for="(item, index) in tableData">
          <el-table-column
            :key="index"
            :label="item.title"
            v-if="item.isshow">
            <template slot-scope="scope">
              <div>{{ item.detail[scope.$index] }}</div>
            </template>
          </el-table-column>
        </template>
      </el-table>

 

data () {
    return {
      isChooseCols: false,
      tableData: [
        {title: '指标', isshow: true,
          detail: ['到课率', '完成度', '答题率', '答题正确率', '直播课作业正确率', '视频作业正确率', '综合课作业正确率']},
        {title: '讲次1', isshow: true, detail: ['1', '2', '3', '4', '5', '6', '7']},
        {title: '讲次2', isshow: true, detail: ['11', '12', '13', '14', '15', '16', '17']},
        {title: '讲次3', isshow: true, detail: ['21', '22', '23', '24', '25', '26', '27']},
      ],
      search: {
        name: '',
        time: '',
      },
      currentPage: 1,
      pageCount: 0,
      pageSize: 10,
      pageSizes: [10, 20, 30, 50],
      totalCount: 0,
    };
  },

methods:{
    // 控制表格头部哪些显示哪些不显示
    showChoose () {
      this.isChooseCols = true;
    },
    hideChoose () {
      this.isChooseCols = false;
    },
}

效果图(css就不写了,有公共的,比较麻烦)

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值