美文网首页
VUE2.0+ElementUI2.0表格el-table:循环

VUE2.0+ElementUI2.0表格el-table:循环

作者: River_mx | 来源:发表于2018-03-30 09:44 被阅读0次

    先看看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的代码可以这样改:

    1522374707(1).png

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

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

    如果还有其它疑问请留言,谢谢支持~

    相关文章

      网友评论

          本文标题:VUE2.0+ElementUI2.0表格el-table:循环

          本文链接:https://www.haomeiwen.com/subject/fepbcftx.html