VUE 实现 Table的动态绑定

 模板代码

<template>
  <div id="app-4">
    <el-table
      :data="tableData"        //tableData是实际存储tabl的json数据
      style="width: 100%">
      <el-table-column v-for="items in tableDataType"  //tableDataType存储的是表头的列数据
                       :prop="items.nameProp"   //使用动态绑定时候prop前面必须要有“:”号
                       :label="items.nameLable"  //使用动态绑定时候label前面必须要有“:”号
                       width="180">
      </el-table-column>
    </el-table>
  </div>
</template>

vue代码

 <script>
  export default {
    data () {
      return {
        tableDataType: [{
          nameLable: '姓名',
          nameProp: 'name'
        }, {
          nameLable: '日期',
          nameProp: 'date'

        }, {
          nameLable: '地址',
          nameProp: 'address'
        }],
        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>

实现效果

在这里插入图片描述

注意

使用vuejs来实现对table的绑定操作,代码实现本身很简单。但是在实现的过程中需要注意如下细节问题:(1)绑定时候 el-table-column 的属性中需要用**:prop** 而不是**prop**
      (2)绑定时候 el-table-column 的属性中需要用** :label** 而不是**label**
      (3)带冒号的属性**:prop**表示是vue的来渲染的属性,不带冒号的属性**prop**表示的是常规html的属性。
Vue2中的table动态绑定可以通过使用el-table和el-table-column组件来实现。在el-table中,我们可以通过:data属性来绑定实际存储table的json数据,而在el-table-column中,我们可以通过使用v-for指令来动态绑定表头的列数据。在绑定时,需要注意以下几个细节问题: 1. 绑定时需要使用**:prop**而不是**prop**来指定属性名。 2. 绑定时需要使用**:label**而不是**label**来指定列名。 3. 带冒号的属性**:prop**表示是vue的来渲染的属性,不带冒号的属性**prop**表示的是常规html的属性。 下面是一个示例代码,其中tableDataType存储的是表头的列数据,而tableData存储的是实际存储table的json数据: ``` <template> <div id="app-4"> <el-table :data="tableData" style="width: 100%"> <el-table-column v-for="items in tableDataType" :prop="items.nameProp" :label="items.nameLable" width="180"></el-table-column> </el-table> </div> </template> <script> export default { data () { return { tableDataType: [ { nameLable: '姓名', nameProp: 'name' }, { nameLable: '日期', nameProp: 'date' }, { nameLable: '地址', nameProp: 'address' } ], 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> ```
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值