vue使用Element 实现表格表头合拼

博客讲述了在前端项目中,为实现疫情防控的复杂表格,包括动态表头和数据处理的过程。作者通过Element UI库实现了部分功能,遇到固定列导致的显示问题,并解决了这个问题。然而,随着产品需求变更,需要动态表头,作者对数据格式进行了调整以适应需求。尽管代码质量因时间紧迫而受到影响,但最终成功实现了预期效果。后端提供了接口,作者将后端返回的数据转换为前端可用的格式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近项目有一个需求需要做一个疫情防控的表格表头比较复杂在查看Element文档和搜索相关资料后
实现了部分功能
在这里插入图片描述
代码如下

 <div class="TableShows">
      <!-- :span-method="arraySpanMethod" -->
    <el-table :header-cell-style="getRowClass" :data="tableData" style="width: 100%"  :cell-style="rowStyle">
    <!-- 这里是第一行要包裹其它的column项-->
    <el-table-column width="200" :render-header="getLabel" align="center">
                  <!-- 日期 -->
      <el-table-column prop="deptName" label="街道" width="90" align="center">
        <template slot-scope="scope">
           <el-button style="margin:0 5px;" type="text" @click="getClicktree(scope.row)">{{scope.row.deptName}}</el-button>    
        </template>     
     </el-table-column>
      <!-- 总数 -->
      <el-table-column  prop="allTotal" label="总数">
      </el-table-column>
      <!-- 第一类 -->
       <el-table-column label="现有严格居家监测人数" align="center">
        <el-table-column prop="viewTotal" label="总数" width="" align="center"> </el-table-column>
        <el-table-column prop="date" label="来自中高风险地区" width="" align="center"> </el-table-column>
        <el-table-column prop="date" label="来自低风险地区" width="" align="center"> </el-table-column>
        <el-table-column prop="date" label="密接人员" width="" align="center"> </el-table-column>
        <el-table-column prop="date" label="境外人员" width="" align="center"> </el-table-column>
        <el-table-column prop="date" label="确诊或无症状人员" width="" align="center"> </el-table-column>
        <el-table-column prop="date" label="隔离点工作人员" width="" align="center"> </el-table-column>
        <el-table-column prop="date" label="其他" width="" align="center"> </el-table-column>
      </el-table-column> 
      <!-- 第二类 -->
       <el-table-column width="" label="现有居家健康监测人数" align="center">
        <el-table-column prop="viewTotal" label="总数" width="" align="center"> </el-table-column>
        <el-table-column prop="viewZGFXDQ" label="来自低风险地区" width="" align="center"> </el-table-column>
        <el-table-column prop="viewDFXDQ" label="来自中高风险地区" width="" align="center"> </el-table-column>
        <el-table-column prop="viewMJRY" label="高风险岗位工作人员" width="" align="center"> </el-table-column>
      </el-table-column> 
      <!-- 第三类 -->
      <el-table-column label="现有健康监测人数" align="center">
        <el-table-column prop="lowTotal" label="总数" width="" align="center"> </el-table-column>
        <el-table-column prop="lowZGFXDQ" label="来自低风险地区" width="" align="center"> </el-table-column>
        <el-table-column prop="lowGLDGZRY" label="隔离点工作人员" width="" align="center"> </el-table-column>
        <el-table-column prop="lowJWRY" label="境外人员" width="" align="center"> </el-table-column>
        <el-table-column prop="lowJWTZRY" label="境外同住人员" width="" align="center"> </el-table-column>
        <el-table-column prop="lowCMJCZ" label="次密接触者" width="" align="center"> </el-table-column>
        <el-table-column prop="lowOther" label="其他" width="" align="center"> </el-table-column>
     </el-table-column> 
      <!-- 核酸监测列 -->
       <el-table-column   prop="fromTest1" label="已完成一次核酸监测" width="" align="center"> </el-table-column>
       <el-table-column   prop="fromTest2" label="已完成二次核酸监测" width="" align="center"> </el-table-column>
       <el-table-column   prop="fromTest3" label="已完成三次核酸监测" width="" align="center"> </el-table-column>
       <el-table-column   prop="fromTest4" label="已完成四次核酸监测" width="" align="center"> </el-table-column>
       <el-table-column  fixed="right" prop="fromTest5" label="已完成五次核酸监测" width="" align="center"> </el-table-column>
    </el-table-column>
    </el-table>

最后产品说表头是动态的需要后端返回 前端我就改成了
前端暂时定义的数据格式
在这里插入图片描述

在这里插入图片描述
有一个问题就是最外面的column使用了 fixed 的话会导致数据的显示问题 在网上查找资料了说需要修改element 的源代码 ,我审查了一下元素应该宽度不够 默认给了一个.is-hidden 这个样式 去掉之后就可以显示了 后来由于产品需求变更 最上面的表头要加上
在这里插入图片描述
后来干脆就把最上面的拿出来 单独写一行
在这里插入图片描述
最后看下整体效果
在这里插入图片描述
端午节的时候后端把接口提供出来了 来看下后端返回的是什么数据格式吧
在这里插入图片描述
任务排期重 端午节在家加了一天半的班 把数据处理一下 试了很多办法
在这里插入图片描述
最后处理成这种格式
这个是动态的title数据格式
在这里插入图片描述
时间紧急 代码质量比较差 就不上代码了 效果算是实现出来了 要是后端可以返回前端需要的数据格式
可以减少前端的工作量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值