el-table-column实现多级表头+多级表格

效果:

数据格式:

html部分: 

   <!-- tableData为返回数据的data的rows的数据 --> 
<el-table
      :data="tableData"  
      row-key="id"
      stripe
      border
      header-cell-class-name="headercell"
      cell-class-name="cellclazz"
      class="app-table"
     >
      <el-table-column 
        sortable
        prop="serverport" 
        label="进程端口号" 
        show-overflow-tooltip/>
      <el-table-column 
        sortable
        prop="status" 
        label="进程状态" 
        show-overflow-tooltip/>
      <el-table-column label="邻居详细">
        <el-table-column
          prop="bgppeers"
          label="路由器IP">
            <template slot-scope="scope">
                <div class="title" v-for="(item,index) in scope.row.bgppeers.filter(item=>item.routerip)" :key="index" :style="    {'border-bottom': index === scope.row.bgppeers.length - 1 ? 'none' : '1px solid #ccc' }">
                <el-tooltip class="item" effect="dark" :content="item.routerip" placement="top-start">
                  <div class="item">{{ item.routerip }}</div>
                  </el-tooltip>
                </div>
            </template>
        </el-table-column>
        <el-table-column
          prop="bgppeers"
          label="路由器名称">
            <template slot-scope="scope">
                <div class="title" v-for="(item,index) in scope.row.bgppeers.filter(item=>item.routername)" :key="index" :style="    {'border-bottom': index === scope.row.bgppeers.length - 1 ? 'none' : '1px solid #ccc' }">
                <el-tooltip class="item" effect="dark" :content="item.routername" placement="top-start">
                  <div class="item">{{ item.routername }}</div>
                  </el-tooltip>
                </div>
            </template>
        </el-table-column>
        <el-table-column
          prop="bgppeers"
          label="路由器AS号">
            <template slot-scope="scope">
                <div class="title" v-for="(item,index) in scope.row.bgppeers.filter(item=>item.remoteas)" :key="index" :style="    {'border-bottom': index === scope.row.bgppeers.length - 1 ? 'none' : '1px solid #ccc' }">
                <el-tooltip class="item" effect="dark" :content="item.remoteas" placement="top-start">
                  <div class="item">{{ item.remoteas }}</div>
                  </el-tooltip>
                </div>
            </template>
        </el-table-column>
        <el-table-column
          prop="bgppeers"
          label="服务器AS号">
            <template slot-scope="scope">
                <div class="title" v-for="(item,index) in scope.row.bgppeers.filter(item=>item.localas)" :key="index" :style="    {'border-bottom': index === scope.row.bgppeers.length - 1 ? 'none' : '1px solid #ccc' }">
                <el-tooltip class="item" effect="dark" :content="item.localas" placement="top-start">
                  <div class="item">{{ item.localas }}</div>
                  </el-tooltip>
                </div>
            </template>
        </el-table-column>
      </el-table-column>
    </el-table>

  • 14
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
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属性来控制每个二级表头的宽度。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值