element table表格表头动态渲染效果demo(整理)

简介: element table表格表头动态渲染效果demo(整理)

效果图:

<template>
  <div class="app-container referBox">
    <el-table :data="tableData" style="width: 100%" border>
      <el-table-column prop="num1" label="数据1"> </el-table-column>
      <el-table-column prop="num2" label="数据2"> </el-table-column>
      <el-table-column v-for="(item,index) in stateData" :prop="item.prop" :label="item.label"> </el-table-column>
    </el-table>
  </div>
</template>
<script>
  export default {
    data() {
      return {
        /* tableData中的每一项state都要是一样的 */
        tableData: [{
            num1: '1',
            state: [{
              title: '动态数据3',
              stateNum: 3
            }, {
              title: '动态数据4',
              stateNum: 4
            }],
            num2: '2'
          },
          {
            num1: '2',
            state: [{
              title: '动态数据3',
              stateNum: 3
            }, {
              title: '动态数据4',
              stateNum: 4
            }],
            num2: '2'
          },
          {
            num1: '3',
            state: [{
              title: '动态数据3',
              stateNum: 3
            }, {
              title: '动态数据4',
              stateNum: 4
            }],
            num2: '2'
          },
        ],
        stateData: []
      }
    },
    mounted() {
      // 获取数组第一项
      const row = this.tableData[0].state
      this.stateData = []
      // 填充表头
      row.map((obj, index) => {
        this.stateData.push({
          key: parseInt(index + 1),
          label: obj.title,
          prop: obj.title,
          width: 200
        })
      })
      this.tableData.map(item => {
        item.state.map(ix => {
          item[ix.title] = ix.stateNum
        })
      })
      console.log('row: ', row);
      console.log('this.stateData: ', this.stateData);
      console.log('this.tableData: ', this.tableData);
    }
  }
</script>
相关文章
|
JavaScript
vue 全屏 screenfull —— 整页全屏,指定元素全屏,退出全屏,全屏切换等
vue 全屏 screenfull —— 整页全屏,指定元素全屏,退出全屏,全屏切换等
1140 0
|
运维 负载均衡 应用服务中间件
自动化运维:使用Ansible进行服务器配置管理
【9月更文挑战第34天】在现代IT运维工作中,自动化已成为提升效率、减少错误的关键。本文将介绍如何使用Ansible这一强大的自动化工具来简化和加速服务器的配置管理工作。我们将通过实际案例展示如何利用Ansible的Playbooks来自动化常见任务,并讨论其对提高运维团队工作效率的影响。
screenfull全屏、退出全屏、指定元素全屏的使用步骤
screenfull全屏、退出全屏、指定元素全屏的使用步骤
827 5
|
10月前
|
数据采集 安全 定位技术
使用代理IP爬虫时数据不完整的原因探讨
在信息化时代,互联网成为生活的重要部分。使用HTTP代理爬取数据时,可能会遇到失败情况,如代理IP失效、速度慢、目标网站策略、请求频率过高、地理位置不当、网络连接问题、代理配置错误和目标网站内容变化等。解决方法包括更换代理IP、调整请求频率、检查配置及目标网站变化。
186 11
|
Java Android开发
读取jar包内外文件
读取jar包内外文件
231 0
|
11月前
|
数据采集 存储 前端开发
Puppeteer教程:使用CSS选择器点击和爬取动态数据
本文介绍如何使用Puppeteer结合CSS选择器爬取动态网页数据,以贝壳网的二手房价格为例,通过代理IP提高爬虫成功率。文章详细讲解了Puppeteer的安装和配置、代码实现及数据趋势分析,帮助读者掌握动态网页爬取技术。
395 1
Puppeteer教程:使用CSS选择器点击和爬取动态数据
|
计算机视觉
ElementUI——vue2+element-ui 2.x的动态表格和表单
ElementUI——vue2+element-ui 2.x的动态表格和表单
369 1
|
JavaScript API
vue3父子组件相互调用方法详解
vue3父子组件相互调用方法详解
|
JavaScript
vue.config.ts配置环境变量
vue.config.ts配置环境变量
401 0
关于解决el-select组件自动清除数据空格的问题
关于解决el-select组件自动清除数据空格的问题
468 1