VUE2.0+ElementUI2.0表格el-table循环动态列渲染的写法详解


Posted in Javascript onNovember 30, 2018

先看看ElementUI里关于el-table的template数据结构:

<template>
  <el-table
   :data="tableData"
   style="width: 100%">
   <el-table-column
    prop="date"
    label="日期"
    width="180">
   </el-table-column>
   <el-table-column
    prop="name"
    label="姓名"
    width="180">
   </el-table-column>
   <el-table-column
    prop="address"
    label="地址">
   </el-table-column>
  </el-table>
 </template>

再看看ElementUI里关于el-table的data数据结构:

<script>
  export default {
   data() {
    return {
     tableData: [{
      date: '2016-05-02',
      name: '王小虎',
      address: '上海市普陀区金沙江路 1518 弄'
     }, {
      date: '2016-05-04',
      name: '王小虎',
      address: '上海市普陀区金沙江路 1517 弄'
     }, {
      date: '2016-05-01',
      name: '王小虎',
      address: '上海市普陀区金沙江路 1519 弄'
     }, {
      date: '2016-05-03',
      name: '王小虎',
      address: '上海市普陀区金沙江路 1516 弄'
     }]
    }
   }
  }
</script>

那么问题来了,如果有很多prop怎么办?比如几百个?那就要用到循环结构了,获取到data数据之后,template的代码可以这样改:

VUE2.0+ElementUI2.0表格el-table循环动态列渲染的写法详解

请忽略上图代码中的其他参数,看v-for指令,里面的positionList对应的是el-table 里 :data="tableData",把它的任意数组里对象的key取出来就好了

细心的小伙伴已经发现了,我还用了动态的width,为了解决不同字数长度的表头折行显示的问题,这里的数据存在了positionKey的对象里,专门用来匹配到途中代码通过v-for循环对应的index(key)一致,从而获取到对应的width,为了方便使用,positionKey的数据结构是这样的:

export const positionKey= {
 key1: {
  title: '表头对应的文字1',
  width: 100
 },
 key2: {
  title: '表头对应的文字2',
  width: 120
 },
 key3: {
  title: '表头对应的文字3',
  width: 110
 },
}

这种数据结构也为后期的自定义拖拽配置动态列做了预备~

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js下弹出窗口的变通
Apr 18 Javascript
prototype 学习笔记整理
Jul 17 Javascript
jQuery+css实现图片滚动效果(附源码)
Mar 18 Javascript
js判断登录与否并确定跳转页面的方法
Jan 30 Javascript
理解javascript对象继承
Apr 17 Javascript
浅谈js对象属性 通过点(.) 和方括号([]) 的不同之处
Oct 29 Javascript
Vue-router结合transition实现app前进后退动画切换效果的实例
Oct 11 Javascript
利用JS测试目标网站的打开响应速度
Dec 01 Javascript
解决linux下node.js全局模块找不到的问题
May 15 Javascript
关于vue编译版本引入的问题的解决
Sep 17 Javascript
JAVA面试题 static关键字详解
Jul 16 Javascript
JavaScript 监听组合按键思路及代码实现
Jul 28 Javascript
js字符串倒序的实例代码
Nov 30 #Javascript
实例讲解JavaScript截取字符串
Nov 30 #Javascript
支付宝小程序自定义弹窗dialog插件的实现代码
Nov 30 #Javascript
使用canvas实现一个vue弹幕组件功能
Nov 30 #Javascript
VUE基于NUXT的SSR 服务端渲染
Nov 30 #Javascript
Nuxt.js开启SSR渲染的教程详解
Nov 30 #Javascript
基于JavaScript实现每日签到打卡轨迹功能
Nov 29 #Javascript
You might like
php的控制语句
2006/10/09 PHP
php4的session功能评述(三)
2006/10/09 PHP
一个PHP模板,主要想体现一下思路
2006/12/25 PHP
php实现图片转换成ASCII码的方法
2015/04/03 PHP
js 使用form表单select类实现级联菜单效果
2012/12/19 Javascript
JQuery实现用户名无刷新验证的小例子
2013/03/22 Javascript
jQuery判断checkbox是否选中的3种方法
2014/08/12 Javascript
JS自定义对象实现Java中Map对象功能的方法
2015/01/20 Javascript
JavaScript制作windows经典扫雷小游戏
2015/03/31 Javascript
js随机生成26个大小写字母
2016/02/12 Javascript
js实现人民币大写金额形式转换
2016/04/27 Javascript
Bootstrap框架结合jQuery仿百度换肤功能实例解析
2016/09/17 Javascript
JavaScript基于自定义函数判断变量类型的实现方法
2016/11/23 Javascript
详解vue-router和vue-cli以及组件之间的传值
2017/07/04 Javascript
使用jQuery实现购物车结算功能
2017/08/15 jQuery
在Python中使用HTMLParser解析HTML的教程
2015/04/29 Python
Python简单删除列表中相同元素的方法示例
2017/06/12 Python
Python callable()函数用法实例分析
2018/03/17 Python
python unittest实现api自动化测试
2018/04/04 Python
Python基于FTP模块实现ftp文件上传操作示例
2018/04/23 Python
django框架使用方法详解
2019/07/18 Python
Django框架HttpResponse对象用法实例分析
2019/11/01 Python
Python logging模块handlers用法详解
2020/08/14 Python
Python描述数据结构学习之哈夫曼树篇
2020/09/07 Python
python hmac模块验证客户端的合法性
2020/11/07 Python
HTML5本地存储之IndexedDB
2017/06/16 HTML / CSS
伦敦高级内衣品牌:Agent Provocateur(大内密探)
2016/08/23 全球购物
C/C++程序员常见面试题二
2015/11/19 面试题
UNIX操作系统结构由哪几部分组成
2016/02/17 面试题
我爱读书演讲稿
2014/05/07 职场文书
预备党员群众路线思想汇报2014
2014/10/25 职场文书
英语导游欢迎词
2015/09/30 职场文书
Python自动化之批量处理工作簿和工作表
2021/06/03 Python
opencv检测动态物体的实现
2021/07/21 Python
使用Ajax实现进度条的绘制
2022/04/07 Javascript
Python pyecharts案例超市4年数据可视化分析
2022/08/14 Python