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 相关文章推荐
获取Javscript执行函数名称的方法
Dec 22 Javascript
jquery 双色表格实现代码
Dec 08 Javascript
新老版本juqery获取radio对象的方法
Mar 01 Javascript
JavaScript实现简单的二级导航菜单实例
Apr 15 Javascript
JavaScript中操作字符串之localeCompare()方法的使用
Jun 06 Javascript
针对后台列表table拖拽比较实用的jquery拖动排序
Oct 10 Javascript
js-FCC算法-No repeats please字符串的全排列(详解)
May 02 Javascript
浅谈vue项目可以从哪些方面进行优化
May 05 Javascript
纯js封装的ajax功能函数与用法示例
May 14 Javascript
使用vue-cli(vue脚手架)快速搭建项目的方法
May 21 Javascript
JS实现手写 forEach算法示例
Apr 29 Javascript
JavaScript 中判断变量是否为数字的示例代码
Oct 22 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
如何给phpadmin一个保护
2006/10/09 PHP
PHP+Jquery与ajax相结合实现下拉淡出瀑布流效果【无需插件】
2016/05/06 PHP
JavaScript的面向对象(二)
2006/11/09 Javascript
EASYUI TREEGRID异步加载数据实现方法
2012/08/22 Javascript
面向对象继承实例(a如何继承b问题)(自写)
2013/07/01 Javascript
Textarea根据内容自适应高度
2013/10/28 Javascript
JavaScript插件化开发教程 (一)
2015/01/27 Javascript
浅析JavaScript访问对象属性和方法及区别
2015/11/16 Javascript
JavaScript几种数组去掉重复值的方法推荐
2016/04/12 Javascript
vue动态生成dom并且自动绑定事件
2017/04/19 Javascript
vue2.x+webpack快速搭建前端项目框架详解
2017/11/30 Javascript
JavaScript函数节流和函数去抖知识点学习
2018/07/31 Javascript
如何使用Node.js爬取任意网页资源并输出PDF文件到本地
2019/06/17 Javascript
通过实例了解JS 连续赋值
2019/09/24 Javascript
JavaScript实现图片伪异步上传过程解析
2020/04/10 Javascript
在Webpack中用url-loader处理图片和字体的问题
2020/04/28 Javascript
python实现多线程抓取知乎用户
2016/12/12 Python
用Python写王者荣耀刷金币脚本
2017/12/21 Python
代码讲解Python对Windows服务进行监控
2018/02/11 Python
Python图像处理之识别图像中的文字(实例讲解)
2018/05/10 Python
老生常谈python中的重载
2018/11/11 Python
Python Pexpect库的简单使用方法
2019/01/29 Python
Python实现的矩阵转置与矩阵相乘运算示例
2019/03/26 Python
django-crontab 定时执行任务方法的实现
2019/09/06 Python
python hashlib加密实现代码
2019/10/17 Python
python实现模拟器爬取抖音评论数据的示例代码
2021/01/06 Python
英国第一的滑雪服装和装备零售商:Snow+Rock
2020/02/01 全球购物
Linux中如何设置Java环境变量(Ubuntu)
2016/07/24 面试题
文明礼貌演讲稿
2014/05/12 职场文书
警察先进个人事迹材料
2014/05/16 职场文书
组织鉴定材料
2014/06/02 职场文书
火锅店的活动方案
2014/08/15 职场文书
《中国梦我的梦》中学生演讲稿
2014/08/20 职场文书
优秀班集体申报材料
2014/12/25 职场文书
Mysql 如何批量插入数据
2021/04/06 MySQL
《极主夫道》真人电影正式预告 定档6月3日上映
2022/04/05 日漫