• 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)页面所有代码(无接口,可以直接用)

  • 相关阅读:
    【Python】类和对象的深入解析
    Redis之Redis基础、环境搭建、主从切换
    程序员保密协议书(与合作单位签署)
    leetcode:2441. 与对应负数同时存在的最大正整数(python3解法)
    Android studio 一次编译生成32位和64位bin和lib
    【Vue基础一】
    我,土木人,时隔7年转行计算机,差点放弃了
    相机相关:相机模型与畸变模型
    智能社区奶柜带来便利与实惠
    项目管理之实施关键步骤
  • 原文地址:https://blog.csdn.net/qq_42192641/article/details/134190364