vue.js根据数据循环生成表格_VUE2.0+ElementUI2.0表格el-table循环动态列渲染的写法详解...

本文详细介绍了如何使用Vue.js结合ElementUI根据数据动态渲染表格列,包括数据结构的设置、v-for指令的运用,以及如何处理动态宽度和表头文字。通过对tableData和positionKey的数据操作,实现了表格的灵活配置,为后期的自定义拖拽配置动态列奠定了基础。
摘要由CSDN通过智能技术生成

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

:data="tableData"

style="width: 100%">

prop="date"

label="日期"

width="180">

prop="name"

label="姓名"

width="180">

prop="address"

label="地址">

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

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 弄'

}]

}

}

}

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

请忽略上图代码中的其他参数,看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

},

}

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

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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值