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 相关文章推荐
取得父标签
Nov 14 Javascript
从零开始学习jQuery (十) jQueryUI常用功能实战
Feb 23 Javascript
EXTJS记事本 当CompositeField遇上RowEditor
Jul 31 Javascript
jquery方法+js一般方法+js面向对象方法实现拖拽效果
Aug 30 Javascript
瀑布流布局代码一例
Apr 11 Javascript
解析Node.js异常处理中domain模块的使用方法
Feb 16 Javascript
js获取form表单所有数据的简单方法
Aug 18 Javascript
node.js express安装及示例网站搭建方法(分享)
Aug 22 Javascript
Angular4学习笔记之新建项目的方法
Jul 18 Javascript
使用NestJS开发Node.js应用的方法
Dec 03 Javascript
Angular4.0动画操作实例详解
May 10 Javascript
JQuery样式操作、click事件以及索引值-选项卡应用示例
May 14 jQuery
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
全国FM电台频率大全 - 15 山东省
2020/03/11 无线电
php 进度条实现代码
2009/03/10 PHP
PHP邮件发送类PHPMailer用法实例详解
2014/09/22 PHP
js操作二级联动实现代码
2010/07/27 Javascript
中文路径导致unitpngfix.js不正常的解决方法
2013/06/26 Javascript
用JavaScript计算在UTF-8下存储字符串占用字节数
2013/08/08 Javascript
ExtJs纵坐标值重复问题的解决方法
2014/02/27 Javascript
jQuery实现圣诞节礼物动画案例解析
2016/12/25 Javascript
jquery.validate.js 多个相同name的处理方式
2017/07/10 jQuery
vue项目环境变量配置的实现方法
2018/10/12 Javascript
Vuex的初探与实战小结
2018/11/26 Javascript
jQuery模拟html下拉多选框的原生实现方法示例
2019/05/30 jQuery
vue实现全匹配搜索列表内容
2019/09/26 Javascript
[01:09:01]完美世界DOTA2联赛循环赛 Magma vs PXG BO2第一场 10.28
2020/10/28 DOTA
Python中的文件和目录操作实现代码
2011/03/13 Python
python+requests+unittest API接口测试实例(详解)
2017/06/10 Python
Python并发:多线程与多进程的详解
2019/01/24 Python
numpy中的ndarray方法和属性详解
2019/05/27 Python
python2和python3在处理字符串上的区别详解
2019/05/29 Python
Pytorch反向求导更新网络参数的方法
2019/08/17 Python
python图的深度优先和广度优先算法实例分析
2019/10/26 Python
Pytorch Tensor 输出为txt和mat格式方式
2020/01/03 Python
Python几种常见算法汇总
2020/06/02 Python
OpenCV+python实现实时目标检测功能
2020/06/24 Python
.NET方向面试题
2014/11/20 面试题
教育实习生的自我评价分享
2013/11/21 职场文书
客服专员岗位职责
2014/02/28 职场文书
会议主持词
2014/03/17 职场文书
《猴子种果树》教学反思
2014/04/26 职场文书
求职信标题怎么写
2014/05/26 职场文书
售房委托书
2014/08/30 职场文书
2014年最新大专生职业生涯规划书范文
2014/09/13 职场文书
2015秋季新学期开学寄语
2015/05/28 职场文书
同学聚会感言一句话
2015/07/30 职场文书
MySQL 原理与优化之Update 优化
2022/08/14 MySQL
Windows11 Insider Preview Build 25206今日发布 更新内容汇总
2022/09/23 数码科技