• el-table表格设置——动态修改表头


    (1) 首先是form表单写表单设置按钮:

    (1.1)使用el-popover,你需要修改的是this.colOptions,colSelect:

    1. "popover" popper-class="planProver" placement="bottom" width="300" trigger="click" content="{this.colOptions}" class="elPopover">
    2. <el-checkbox-group v-model="colSelect" @change="refreshPic">
    3. <el-checkbox v-for="item in colOptions" :label="item" :key="item" style="display: block; padding-top: 10px">el-checkbox>
    4. el-checkbox-group>
    5. <el-button type="primary" slot="reference">表格设置el-button>

    (1.2)js代码中的data

    1. data(){
    2. return{
    3. colOptions: ['飞行计划编号', '通航用户', '任务性质', '机型', '飞行员', '开始时间', '结束时间', '联系人', '24位地址码', '机载设备', '飞行规则'],
    4. // 已选中的表头:默认显示内容
    5. colSelect: [],
    6. // 默认选择的
    7. colSelectToday: ['飞行计划编号', '通航用户', '任务性质', '机型', '飞行员', '开始时间'],
    8. // 主要是为了获取table的prop
    9. columnLabels: {
    10. flightPlanNumber: '飞行计划编号',
    11. airNavigationUser: '通航用户',
    12. missionType: '任务性质',
    13. aircraftType: '机型',
    14. pilot: '飞行员',
    15. startTime: '开始时间',
    16. endTime: '结束时间',
    17. contact: '联系人',
    18. addressCode: '24位地址码',
    19. onboardEquipment: '机载设备',
    20. flightRules: '飞行规则',
    21. },
    22. }
    23. }

    (1.3)js中的methods

    1. //重新选择表格表头时
    2. refreshPic(val) {
    3. localStorage.setItem('planColSelect', JSON.stringify(val));
    4. this.colSelect = JSON.parse(localStorage.getItem('planColSelect'));
    5. },

    (2)写table表

    (2.1)html代码

    1. <el-table :data="tableData" style="width: 100%; height: 100%" border :cell-style="customCellStyle" :header-cell-style="customHeaderCellStyle">
    2. <el-table-column label="序号" type="index" align="center" width="50">
    3. el-table-column>
    4. <el-table-column :label="item" :key="'key' + item + index" v-for="(item, index) in colSelect" :prop="getProp(item)">el-table-column>
    5. el-table>

    (2)js中的method写:

    1. getProp(item) {
    2. // 遍历 columnLabels 对象,查找匹配的属性名
    3. for (const prop in this.columnLabels) {
    4. if (this.columnLabels[prop] === item) {
    5. return prop; // 返回匹配的属性名
    6. }
    7. }
    8. // 如果未找到匹配项,返回 null 或其他适当的值
    9. return null;
    10. },

    (3)页面所有代码(无接口,可以直接用)

  • 相关阅读:
    会议OA项目之我的审批&&签字功能
    Web前端开发技术课程大作业——南京旅游景点介绍网页代码html+css+javascript
    Android进阶之路 - Json解析异常
    RabbitMQ系列【7】消息可靠性之发布确认、退回机制
    模具制造厂ERP都有哪些牌子?模具制造厂ERP有什么用
    软件设计模式白话文系列(五)建造者模式
    一文详解Redis键过期策略,最全文档
    MySQL 5.7 安装教程(全步骤、保姆级教程)
    三维点云的格网(体素)组织
    laravel 安装后台管理系统, filament.
  • 原文地址:https://blog.csdn.net/qq_42192641/article/details/134190364