ElementUI中el-table想实现多行表头怎么实现(el-table实现多行表头)

本文介绍如何在ElementUI的el-table中实现多行表头,并在表头中实时展示数据。通过嵌套el-table-column组件的方式,可根据需求定制任意行数的表头。

ElementUI表格多行表头实现问题记录


前言

elementUI el-table使用时想实现多行表头,并且表头也实时渲染数据实现


提示:以下是本篇文章正文内容,下面案例可供参考

一、向下看

想实现的效果如下图所示,多行表头,且第二行表头中有数据展示

在这里插入图片描述

上代码:

<el-table
   ref="targetTable"
   :max-height="528"
   :data="tableData"
   style="width: 100%;"
 >
   <template v-for="(item, index) in tableHeader">
     <el-table-column
       v-if="index === 0"
       :key="index"
       :label="item.month"
       :fixed="true"
       width="155px"
     >
       <el-table-column
         label="新增数"
         :fixed="true"
         width="155px"
       >
         <el-table-column
           label="在用数"
           :prop="item.prop"
           :fixed="true"
           width="155px"
         >
           <el-table-column
             label="在用License-Cohort"
             :prop="item.prop"
             width="155px"
           >
           </el-table-column>
         </el-table-column>
       </el-table-column>
     </el-table-column>
     <el-table-column
       v-else
       :key="index"
       :label="item.label"
       :prop="item.prop"
       :width="item.width"
       :fixed="item.fixed"
     >
       <el-table-column
         label="xx"
         :width="item.width"
       >
         <template slot="header">
           {{ newCount[item.prop] }}
         </template>
         <el-table-column
           label="xx"
           :prop="item.prop"
           :width="item.width"
         >
           <template slot="header">
             {{ inuseCount[item.prop] }}
           </template>
           <el-table-column
             label=""
             :prop="item.prop"
           >
           </el-table-column>
         </el-table-column>
       </el-table-column>
     </el-table-column>
   </template>
 </el-table>

关键代码就是再coloum里面在装一层,你想要表头多少行就在嵌多少层

代码如下:

<el-table-column
  label="新增数"
   :fixed="true"
   width="155px"
 >
   <el-table-column
     label="在用数"
     :prop="item.prop"
     :fixed="true"
     width="155px"
   >
     <el-table-column
       label="在用License-Cohort"
       :prop="item.prop"
       width="155px"
     >
     </el-table-column>
   </el-table-column>
 </el-table-column>
</el-table-column>

该处使用的url网络请求的数据。


总结

提示:这里对文章进行总结:
以上就是今天想分享的el-table多行表头的使用,希望对你有所帮助。有问题可以私信啊

Element UI库中的`el-table`组件中,实现多行表头通常是在使用`el-table-column`时通过嵌套`<template>`标签,并配合`v-for`循环来完成的。下面是一个简单的示例: ```html <template> <el-table :data="tableData" style="width: 100%"> <el-table-column type="index" label="序号"></el-table-column> <!-- 多行表头 --> <template v-for="(headerItem, index) in headerItems"> <el-table-column :key="index" :label="headerItem.title" :prop="headerItem.prop || 'name'" :formatter="headerItem.formatter" <!-- 如果有自定义格式化函数 --> v-if="headerItem.children" <!-- 当headerItem有子项表示多行 --> :show-overflow-tooltip="true"> <!-- 展开列头显示更多信息 --> <template slot-scope="scope"> <span v-for="subHeader in headerItem.children">{{ subHeader.content }}</span> </template> </el-table-column> </template> <!-- 正常的单行表头 --> <el-table-column v-for="(normalItem, index) in normalHeaderItems" :key="index" :label="normalItem.label" :prop="normalItem.prop" :formatter="normalItem.formatter"> </el-table-column> </el-table> </template> <script> export default { data() { return { tableData: ..., headerItems: [ { title: '姓名', children: [{ content: '全名' }, { content: '简称' }] }, { title: '性别', children: [] } ], normalHeaderItems: [ { label: '年龄', prop: 'age' }, { label: '职位', prop: 'position' } ] }; } }; </script> ``` 在这个例子中,`headerItems`数组包含了一组需要展开的多行表头,每个元素都有一个`title`属性作为主标题,而其`children`属性则包含了子标题。当用户点击主标题时,会展示对应的子标题。
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值