vue+element-ui动态生成多级表头的方法


Posted in Javascript onAugust 28, 2018

vue+element

html配置:

<div id="table">{{tableData}}
<el-table :data="tabledata01" :span-method="tableSpanMethod" max-height="420">
<el-table-column v-for='item in tableConfig' :label="item.label" :prop='item.prop' :width='item.width' :key="item.id">
<el-table-column v-if='item.children||item.children.length>0' v-for="item1 in item.children"
:label="item1.label" :prop='item1.prop' :width='item1.width' :key="item1.id">
<el-table-column v-if='item1.children||item1.children.length>0' v-for="item2 in item1.children"
:label="item2.label" :prop='item2.prop' :width='item2.width' :key="item2.id">
</el-table-column>
</el-table-column>
</el-table-column>
</el-table>
</div>

data:

tableConfig:[
{id:100,label:'一级表头',prop:'',width:'',children:[
{id:110,label:'二级表头1',prop:'districtName',width:''},
{id:120,label:'二级表头2',prop:'timeDimension',width:''}
]},
{id:200,label:'一级表头',prop:'',width:'',children:[
{id:210,label:'二级表头',prop:'',width:'',children:[
{id:211,label:'三级表头',prop:'residentPopNum',width:'110'},
{id:212,label:'三级表头',prop:'residentPopDst',width:'110'}
]}
]},
{id:300,label:'一级表头',prop:'',width:'',children:[
{id:310,label:'二级表头',prop:'',width:'',children:[
{id:311,label:'三级表头',prop:'liveLandArea',width:'110'},
{id:312,label:'三级表头',prop:'liveLandDst',width:'110'}
],
},
{id:320,label:'二级表头',prop:'',width:'',children:[
{id:321,label:'三级表头(km²)',prop:'employmentLandArea',width:'110'},
{id:322,label:'三级表头',prop:'employmentLandDst',width:'110'}
],
}
]},
{id:400,label:'一级表头',prop:'',width:'',children:[
{id:410,label:'二级表头',prop:'',width:'',children:[
{id:411,label:'三级表头(个)',prop:'regionTrafficHubNum',width:'110'},
{id:412,label:'三级表头(人次/km²)',prop:'regionTrafficHubFlow',width:'140'}
],
},
{id:420,label:'二级表头',prop:'',width:'',children:[
{id:421,label:'三级表头(个)',prop:'highSpeedNum',width:'110'},
{id:422,label:'三级表头(个/km²)',prop:'highSpeedDst',width:'140'}
],
},{id:430,label:'二级表头',prop:'',width:'',children:[
{id:431,label:'三级表头(个)',prop:'trackTrafficSpotNum',width:'140'},
{id:432,label:'三级表头(个/km²)',prop:'trackTrafficSpotDst',width:'140'}
],
},
{id:440,label:'二级表头',prop:'',width:'',children:[
{id:441,label:'三级表头(km)',prop:'trackTrafficNetNum',width:'110'},
{id:442,label:'三级表头(km/km²)',prop:'trackTrafficNetDst',width:'140'}
],
},
{id:450,label:'二级表头',prop:'',width:'',children:[
{id:451,label:'三级表头(个)',prop:'cityTrafficHubNum',width:'110'},
{id:452,label:'三级表头(个/km²)',prop:'cityTrafficHubDst',width:'110'},
{id:453,label:'三级表头(人次/km²)',prop:'cityTrafficHubFlow',width:'140'}
],
},
{id:460,label:'二级表头',prop:'',width:'',children:[
{id:461,label:'三级表头(km)',prop:'cityTrafficNetNum',width:'110'},
{id:462,label:'三级表头',prop:'cityTrafficNetDst',width:'140'}
],
},
]},
{id:500,label:'一级表头',prop:'',width:'',children:[
{id:510,label:'二级表头',prop:'',width:'',children:[
{id:511,label:'三级表头(km²)',prop:'pubServeLandArea',width:'110'},
{id:512,label:'三级表头',prop:'pubServeLandDst',width:'110'}
],
},
{id:520,label:'二级表头',prop:'',width:'',children:[
{id:521,label:'三级表头(个)',prop:'hospitalResourcesNum',width:'110'},
{id:522,label:'三级表头(km²)',prop:'hospitalResourcesArea',width:'110'},
{id:523,label:'三级表头(个/km²)',prop:'hospitalResourcesDst',width:'110'}
],
},{id:530,label:'二级表头',prop:'',width:'',children:[
{id:531,label:'三级表头(个)',prop:'schoolResourcesNum',width:'110'},
{id:532,label:'三级表头(km²)',prop:'schoolResourcesArea',width:'110'},
{id:533,label:'三级表头(个/km²)',prop:'schoolResourcesDst',width:'110'}
],
},
{id:540,label:'二级表头',prop:'',width:'',children:[
{id:541,label:'三级表头(个)',prop:'humanResourcesNum',width:'110'},
{id:542,label:'三级表头(个/km²)',prop:'humanResourcesDst',width:'110'}
],
},
{id:550,label:'二级表头',prop:'',width:'',children:[
{id:551,label:'三级表头(个)',prop:'businessResourcesNum',width:'110'},
{id:552,label:'三级表头(个/km²)',prop:'businessResourcesDst',width:'110'}
],
},
{id:560,label:'二级表头',prop:'',width:'',children:[
{id:561,label:'三级表头(个)',prop:'environResourcesNum',width:'110'},
{id:562,label:'三级表头(个/km²)',prop:'environResourcesDst',width:'110'}
],
},
]},
{id:600,label:'一级表头',prop:'',width:'',children:[
{id:610,label:'二级表头',prop:'',width:'',children:[
{id:611,label:'三级表头(分)',prop:'populationScore',width:'110'},
],
},
{id:620,label:'二级表头',prop:'',width:'',children:[
{id:621,label:'三级表头(分)',prop:'landScore',width:'110'},
],
},{id:630,label:'二级表头',prop:'',width:'',children:[
{id:631,label:'三级表头(分)',prop:'trafficScore',width:'110'},
],
},
{id:640,label:'二级表头',prop:'',width:'',children:[
{id:641,label:'三级表头(分)',prop:'communalFacilitiesScore',width:'110'},
],
},
{id:650,label:'二级表头',prop:'',width:'',children:[
{id:651,label:'三级表头(分)',prop:'modelScore',width:'110'},
],
}
]},
],

注:动态生成表头必须配置"key"

view:

vue+element-ui动态生成多级表头的方法

以上这篇vue+element-ui动态生成多级表头的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
学习YUI.Ext 第三天
Mar 10 Javascript
数组Array进行原型prototype扩展后带来的for in遍历问题
Feb 07 Javascript
js 居中漂浮广告
Mar 21 Javascript
JavaScript实现生成GUID(全局统一标识符)
Sep 05 Javascript
JavaScript实现自动消除按钮功能的方法
Aug 05 Javascript
jQuery简单实现两级下拉菜单效果代码
Sep 15 Javascript
浅谈Node.js:Buffer模块
Dec 05 Javascript
JS实现数组简单去重及数组根据对象中的元素去重操作示例
Jan 05 Javascript
webstorm和.vue中es6语法报错的解决方法
May 08 Javascript
深入理解Vue 的钩子函数
Sep 05 Javascript
Javascript中弹窗confirm与prompt的区别
Oct 26 Javascript
详解无限滚动插件vue-infinite-scroll源码解析
May 12 Javascript
jQuery实现的响应鼠标移动方向插件用法示例【附源码下载】
Aug 28 #jQuery
对Vue table 动态表格td可编辑的方法详解
Aug 28 #Javascript
微信小程序自定义组件封装及父子间组件传值的方法
Aug 28 #Javascript
layui实现文件或图片上传记录
Aug 28 #Javascript
利用vue.js把静态json绑定bootstrap的table方法
Aug 28 #Javascript
react native 获取地理位置的方法示例
Aug 28 #Javascript
微信小程序自定义音乐进度条的实例代码
Aug 28 #Javascript
You might like
不错的PHP学习之php4与php5之间会穿梭一点点感悟
2007/05/03 PHP
PHP批量检测并去除文件BOM头代码实例
2014/05/08 PHP
CI框架中类的自动加载问题分析
2016/11/21 PHP
PHP使用redis消息队列发布微博的方法示例
2017/06/22 PHP
PHP基于imagick扩展实现合成图片的两种方法【附imagick扩展下载】
2017/11/14 PHP
Yii2框架类自动加载机制实例分析
2018/05/02 PHP
PHP删除字符串中非字母数字字符方法总结
2019/01/20 PHP
PHP number_format函数原理及实例解析
2020/07/14 PHP
HTML-CSS群中单选引发的“事件”
2007/03/05 Javascript
简约JS日历控件 实例代码
2013/07/12 Javascript
全面理解面向对象的 JavaScript(来自ibm)
2013/11/10 Javascript
js仿QQ中对联系人向左滑动、滑出删除按钮的操作
2016/04/07 Javascript
js获取Html元素的实际宽度高度的方法
2016/05/19 Javascript
老生常谈JavaScript 函数表达式
2016/09/01 Javascript
Vue实现typeahead组件功能(非常靠谱)
2017/08/26 Javascript
JS中getElementsByClassName与classList兼容性问题解决方案分析
2019/08/07 Javascript
JS使用正则表达式判断输入框失去焦点事件
2019/10/16 Javascript
用javascript实现倒计时效果
2021/02/09 Javascript
[51:17]Mineski vs Secret 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.22
2019/09/05 DOTA
python基于FTP实现文件传输相关功能代码实例
2019/09/28 Python
Python requests模块安装及使用教程图解
2020/06/30 Python
python 实现朴素贝叶斯算法的示例
2020/09/30 Python
python实现测试工具(一)——命令行发送get请求
2020/10/19 Python
详解CSS3中强大的filter(滤镜)属性
2017/06/29 HTML / CSS
韩国爱茉莉太平洋化妆品美国站:Amore Pacific US
2016/10/28 全球购物
在数据文件自动增长时,自动增长是否会阻塞对文件的更新
2014/05/01 面试题
在网络中有两台主机A和B,并通过路由器和其他交换设备连接起来,已经确认物理连接正确无误,怎么来测试这两台机器是否连通?如果不通,怎么来判断故障点?怎么排
2014/01/13 面试题
连锁经营管理专业大学生求职信
2013/10/30 职场文书
土木工程应届生求职信
2013/10/31 职场文书
高中毕业生生活的自我评价
2013/12/08 职场文书
银行演讲稿范文
2014/01/03 职场文书
保险内勤岗位职责
2014/04/05 职场文书
个人授权委托书范本
2014/09/14 职场文书
幼儿园欢迎词范文
2015/01/26 职场文书
调解协议书范本
2016/03/21 职场文书
MySQL获取所有分类的前N条记录
2021/05/07 MySQL