el-table实现动态表头

1.1el-table渲染

javascript 复制代码
<el-table
   ref="refreshTable"
   :data="tableData"
   highlight-current-row
 >
   <el-table-column
     fixed
     width="170px"
     label="测点"
     align="center"
     prop="测站名称"
   />
   <el-table-column label="降雨日期(mm)" align="center">
     <template v-for="(item, index) in headList">
       <el-table-column
         :key="index"
         :prop="item.name"
         :label="item.house"
         align="center"
       ></el-table-column>
     </template>
   </el-table-column>
 </el-table>

1.2.数据格式:

javascript 复制代码
headList:[
   {
     name: "2021-12-01",
     house: "01",
   },
   {
     name: "2021-12-02",
     house: "02",
   },
   {
     name: "2021-12-03",
     house: "03",
   }
 ],
 tableData:[
   {
     测站名称:"1#站点",
     '2021-12-01':4266.7,
     '2021-12-02':3574.9,
     '2021-12-03':4313.3
   },
   {
     测站名称:"2#站点",
     '2021-12-01':4266.7,
     '2021-12-02':3574.9,
     '2021-12-03':4313.3
   },
   {
     测站名称:"3#站点",
     '2021-12-01':4266.7,
     '2021-12-02':3574.9,
     '2021-12-03':4313.3
   }
 ]

1.3.界面展示

2.1 el-table渲染

javascript 复制代码
<el-table border :data="listData">
      <el-table-column
        fixed
        width="170px"
        label="部门"
        align="center"
        prop="dept"
      />
      <template v-for="(item,index) in dataList">
        <el-table-column
          :key="index"
          :label="item.time"
          align="center">
          <el-table-column
            :prop="item.name"
            label="姓名"
            width="120"
            align="center">
          </el-table-column>
          <el-table-column
            :prop="item.tel"
            label="电话"
            width="120"
            align="center">
          </el-table-column>
        </el-table-column>
      </template>
    </el-table>```

2.2 数据

```javascript
dataList:[
        {
          time: "2021-12-01",
          name: "n1",
          tel: "t1",
        },
        {
          time: "2021-12-02",
          name: "n2",
          tel: "t2",
        },
        {
          time: "2021-12-03",
          name: "n3",
          tel: "t3",

        },
      ],
      listData:[
        {
          dept:"综合管理部",
          'n1':'张三',
          'n2':'李四',
          'n3':'王五',
          't1':4266.7,
          't2':3574.9,
          't3':4313.3
        },
        {
          dept:"生产经营部",
          'n1':'张三',
          'n2':'李四',
          'n3':'王五',
          't1':4266.7,
          't2':3574.9,
          't3':4313.3
        },
        {
          dept:"炼油一部",
          'n1':'张三',
          'n2':'李四',
          'n3':'王五',
          't1':4266.7,
          't2':3574.9,
          't3':4313.3
        }
      ],

2.3 界面展示

相关推荐
东方小月20 小时前
从零开发一个 Coding Agent(六):实现一个可脚本化的 Faux Provider
前端·人工智能
程序员黑豆20 小时前
什么是JDK以及JDK都由哪些部分组成呢
java·前端·ai编程
妙码生花20 小时前
让各大 AI 整理出来的前端工程命名最简实践(Vue + TS)
前端·javascript·vue.js
郭wes代码21 小时前
纯 CSS+JS 实战:手搓一张支持自定义的通用金色电子奖状(万字详细拆解)
前端·javascript·css
用户841794814561 天前
vxe-table 实现编辑列的权限控制:列级与表级权限管理
vue.js
用户847181054191 天前
DeepAgents.js 教程 06—— 跨会话长期记忆(Memory与AGENTS.md)
javascript·agent
阿黎梨梨1 天前
React 表单处理与性能优化:从入门到进阶
前端·react.js
Whbbit19991 天前
发布自己的 shadcn-vue 扩展组件,并支持 CLI 安装
前端·开源
Tian_Hang1 天前
Vue3 父子组件通讯
前端·javascript·vue.js
breeze jiang1 天前
React memo、useCallback 与 useMemo:父组件多状态时如何减少无效渲染
前端·javascript·react.js