vue动态表头,字段管理

<el-popover ref="checkPop" placement="bottom" width="200" trigger="click">
      <el-checkbox-group v-model="colCheckList">
            <el-checkbox
              :label="item.value"
              v-for="item in colList"
              :disabled="item.disabled"
              :key="item.value"
              class="checkbox"
            >
              {{ item.name }}
            </el-checkbox>
          </el-checkbox-group>
          <el-button content="查询字段筛选" effect="" slot="reference" icon="el-icon-        
    setting" size="mini">字段管理</el-button>
</el-popover>

<el-table v-loading="loading" :data="unitInfoList"  border @selection-change="handleSelectionChange">
      <el-table-column
        v-for="(tableItem,tableIdx) in colList" :key="tableIdx"
        :label="tableItem.name"
        header-align="center"
        :align="tableItem.alignType"
        :prop="tableItem.value"
        v-if="checkStatus(tableItem.value)"
      >
      </el-table-column>
    </el-table>

colList: [
        { name: '用水单元', value: 'name', disabled: true, alignType: 'left' },
        { name: '入驻单位', value: 'residentUnit', disabled: true, alignType: 'left' },
        { name: '楼层', value: 'floor', disabled: true, alignType: 'right' },
        { name: '建筑面积(㎡)', value: 'area', disabled: false, alignType: 'right' },
        { name: '水的用途', value: 'useto', disabled: false, alignType: 'left' },
        { name: '运营情况', value: 'operate', disabled: false, alignType: 'left' },
        { name: '测试期间人数', value: 'testNum', disabled: false, alignType: 'right' },
        { name: '备注', value: 'remark', disabled: false, alignType: 'left' }
    ],

// 选中表格列
      colCheckList: [
        'name',
        'residentUnit',
        'floor',
        'area',
        'useto',
        'operate',
        'testNum',
        'remark',
      ],

checkStatus(el) {

      return this.colCheckList.includes(el)

    },

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
A: 实现自定义字段导出EXCEL可以分为以下几个步骤: 1.构建表格数据:首先需要从后台获取表格数据,将其构建成一个二维数组,同时需要定义表头等相关参数。 2.创建表格对象:使用第三方库(如xlsx)创建表格对象,设置表格标题等相关参数。 3.填充表格数据:循环将表格数据中的每个元素写入表格中。可以根据需要导出的字段,只填充特定的列。 4.导出表格文件:使用FileSaver.js等库将表格文件保存到本地。 下面是一个纯VUE实现自定义字段导出EXCEL的示例代码: <template> <div> <button @click="exportExcel">导出Excel</button> </div> </template> <script> import { utils, writeFile } from 'xlsx'; export default { data() { return { tableData: [ ['姓名', '年龄', '性别', '城市'], ['张三', 18, '男', '北京'], ['李四', 20, '女', '上海'], ], }; }, methods: { exportExcel() { const headers = ['姓名', '性别']; // 自定义导出的字段 const data = this.tableData.map(item => { return headers.map(key => item[key]); }); data.unshift(headers); // 表头数据 const ws = utils.aoa_to_sheet(data); const wb = utils.book_new(); utils.book_append_sheet(wb, ws, 'Sheet1'); const fileName = '表格数据.xlsx'; writeFile(wb, fileName); }, }, }; </script> 上面的示例代码使用了xlsx库来创建和填充表格数据。需要注意的是,该库默认只支持浏览器环境。如果需要在Node.js环境中使用,可以考虑使用node-xlsx库。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值