table表格-多级表头

数据结构比较复杂的时候,可使用多级表头来展现数据的层次关系。

只需要在 el-table-column 里面嵌套 el-table-column,就可以实现多级表头。

层级分析:第一列日期;第二列配送信息

                  配送信息列:嵌套姓名2列;嵌套地址三列

                  地址列:嵌套省份3列、市区4列、地址5列、邮编6列

    <el-table
      :data="tableData"
      style="width: 100%">
      <el-table-column
        label="日期"
        prop="date"
        width="150">
      </el-table-column>

      <el-table-column label="配送信息">
        <el-table-column
          label="姓名"
          prop="name"
          width="120">
        </el-table-column>

        <el-table-column label="地址">
          <el-table-column
            label="省份"
            prop="province"
            width="120">
          </el-table-column>
          <el-table-column
            label="市区"
            prop="city"
            width="120">
          </el-table-column>
          <el-table-column
            label="地址"
            prop="address"
            width="300">
          </el-table-column>
          <el-table-column
            label="邮编"
            prop="zip"
            width="120">
          </el-table-column>
        </el-table-column>

      </el-table-column>
    </el-table>
<script>
  new Vue({
    el: '#app',
    data() {
      return {
        tableData: [
          {
            date: '2016-05-03',
            name: '王大虎',
            province: '上海',
            city: '普陀区',
            address: '上海市普陀区金沙江路 1518 弄',
            zip: 200333
          },
          {
            date: '2016-05-02',
            name: '王二虎',
            province: '上海',
            city: '普陀区',
            address: '上海市普陀区金沙江路 1518 弄',
            zip: 200333
          },
          {
            date: '2016-05-01',
            name: '王三虎',
            province: '上海',
            city: '普陀区',
            address: '上海市普陀区金沙江路 1518 弄',
            zip: 200333
          }
        ]
      }
    }
  })
</script>

情景:banner位置个数不固定

tableData从后台获取,构造成这样的格式 

rankTabs构造成这样的格式,可实现prop属性与tableData对应 

    <el-table
      v-loading="listLoading"
      :data="tableData"
      style="margin-top: 15px">
      <el-table-column fixed prop="time" label="日期\位置" align="center" width="120"/>
      <el-table-column label="汇总" align="center" width="120px">
        <el-table-column label="总点击数" prop="click_num" width="100" align="center">
        </el-table-column>
        <el-table-column label="总点击人数" prop="click_user_num" width="100" align="center">
        </el-table-column>
      </el-table-column>

      <el-table-column v-for="(item, index) in rankTabs" :label="item.rank" align="center" width="120px" :key="index">
        <el-table-column label="总点击数" :prop="item.position_rank + 'click_num'" width="100" align="center">
        </el-table-column>
        <el-table-column label="总点击人数" :prop="item.position_rank + 'click_user_num'" width="100" align="center">
        </el-table-column>
      </el-table-column>

    </el-table>

 

el-table可以通过封装el-table-column来实现多级表头。下面是一个示例代码: ```html <template> <el-table :data="tableData" border> <el-table-column label="一级表头" rowspan="2"> <el-table-column label="二级表头1" colspan="2"></el-table-column> <el-table-column label="二级表头2" colspan="2"></el-table-column> </el-table-column> <el-table-column label="一级表头" rowspan="2"> <el-table-column label="二级表头3" colspan="2"></el-table-column> <el-table-column label="二级表头4" colspan="2"></el-table-column> </el-table-column> <el-table-column label="一级表头" rowspan="2"> <el-table-column label="二级表头5" colspan="2"></el-table-column> <el-table-column label="二级表头6" colspan="2"></el-table-column> </el-table-column> <el-table-column label="一级表头" rowspan="2"> <el-table-column label="二级表头7" colspan="2"></el-table-column> <el-table-column label="二级表头8" colspan="2"></el-table-column> </el-table-column> <el-table-column label="一级表头" rowspan="2"> <el-table-column label="二级表头9" colspan="2"></el-table-column> <el-table-column label="二级表头10" colspan="2"></el-table-column> </el-table-column> <el-table-column label="一级表头" rowspan="2"> <el-table-column label="二级表头11" colspan="2"></el-table-column> <el-table-column label="二级表头12" colspan="2"></el-table-column> </el-table-column> <el-table-column label="一级表头" rowspan="2"> <el-table-column label="二级表头13" colspan="2"></el-table-column> <el-table-column label="二级表头14" colspan="2"></el-table-column> </el-table-column> <el-table-column label="一级表头" rowspan="2"> <el-table-column label="二级表头15" colspan="2"></el-table-column> <el-table-column label="二级表头16" colspan="2"></el-table-column> </el-table-column> <el-table-column label="一级表头" rowspan="2"> <el-table-column label="二级表头17" colspan="2"></el-table-column> <el-table-column label="二级表头18" colspan="2"></el-table-column> </el-table-column> <el-table-column label="一级表头" rowspan="2"> <el-table-column label="二级表头19" colspan="2"></el-table-column> <el-table-column label="二级表头20" colspan="2"></el-table-column> </el-table-column> <el-table-column label="一级表头" rowspan="2"> <el-table-column label="二级表头21" colspan="2"></el-table-column> <el-table-column label="二级表头22" colspan="2"></el-table-column> </el-table-column> <el-table-column label="一级表头" rowspan="2"> <el-table-column label="二级表头23" colspan="2"></el-table-column> <el-table-column label="二级表头24" colspan="2"></el-table-column> </el-table-column> </el-table> </template> <script> export default { data() { return { tableData: [ // 表格数据 ] }; } }; </script> ``` 在上面的示例代码中,我们使用了el-table-column来实现多级表头。通过设置rowspan和colspan属性,可以控制表头的合并和拆分。每个一级表头下面可以嵌套多个二级表头,通过设置colspan属性来控制每个二级表头的宽度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值