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 相关文章推荐
javascript 进度条 实现代码
Jul 30 Javascript
详解JavaScript函数绑定
Aug 18 Javascript
了不起的node.js读书笔记之例程分析
Dec 22 Javascript
基于javascript实现简单计算器功能
Jan 03 Javascript
BootStrap Datepicker 插件修改为默认中文的实现方法
Feb 10 Javascript
解析Json字符串的三种方法日常常用
May 02 Javascript
Javascript实现购物车功能的详细代码
May 08 Javascript
node.js学习笔记之koa框架和简单爬虫练习
Dec 13 Javascript
小程序实现自定义导航栏适配完美版
Apr 02 Javascript
JS前端模块化原理与实现方法详解
Mar 17 Javascript
vue 导航菜单刷新状态不消失,显示对应的路由界面操作
Aug 06 Javascript
JavaScript分页组件使用方法详解
Jul 26 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中取得URL的根域名的代码
2011/03/23 PHP
PHP中操作ini配置文件的方法
2013/04/25 PHP
Windows下的PHP 5.3.x安装 Zend Guard Loader教程
2014/09/06 PHP
Zend Framework教程之路由功能Zend_Controller_Router详解
2016/03/07 PHP
php生成mysql的数据字典
2016/07/07 PHP
Extjs TimeField 显示正常时间格式的代码
2011/06/28 Javascript
浅析js封装和作用域
2013/07/09 Javascript
Event altKey,ctrlKey,shiftKey属性解析
2013/12/18 Javascript
jquery加载图片时以淡入方式显示的方法
2015/01/14 Javascript
深入理解JavaScript系列(26):设计模式之构造函数模式详解
2015/03/03 Javascript
JQuery radio(单选按钮)操作方法汇总
2015/04/15 Javascript
javascript实现淡蓝色的鼠标拖动选择框实例
2015/05/09 Javascript
详解参数传递四种形式
2015/07/21 Javascript
JavaScript中使用数组方法汇总
2016/02/16 Javascript
node.js微信公众平台开发教程
2016/03/04 Javascript
使用 Node.js 模拟滑动拼图验证码操作的示例代码
2017/11/02 Javascript
详解vue-cli脚手架中webpack配置方法
2018/08/22 Javascript
vue 中几种传值方法(3种)
2019/11/12 Javascript
如何利用nodejs自动定时发送邮件提醒(超实用)
2020/12/01 NodeJs
Linux中安装Python的交互式解释器IPython的教程
2016/06/13 Python
Python 列表(List) 的三种遍历方法实例 详解
2017/04/15 Python
Python面向对象特殊成员
2017/04/24 Python
Python实现的文本简单可逆加密算法示例
2017/05/18 Python
python+matplotlib实现鼠标移动三角形高亮及索引显示
2018/01/15 Python
python读取txt文件并取其某一列数据的示例
2019/02/19 Python
Python实现检测文件的MD5值来查找重复文件案例
2020/03/12 Python
Selenium python时间控件输入问题解决方案
2020/07/22 Python
Python JSON常用编解码方法代码实例
2020/09/05 Python
享受加州生活方式的时尚舒适:XCVI
2018/07/09 全球购物
Visual-Click葡萄牙:欧洲领先的在线眼镜商
2020/02/17 全球购物
初三学习计划书范文
2014/04/30 职场文书
义务教育学校标准化建设汇报材料
2014/08/16 职场文书
影视广告专业求职信
2014/09/02 职场文书
农村党支部书记司法四风问题对照检查材料
2014/09/26 职场文书
北京离婚协议书范文2014
2014/09/29 职场文书
幼儿园教师读书笔记
2015/06/29 职场文书