前端vue中el-table增加合计行及合并单元格代码示例

 更新时间:2023年09月26日 11:32:11   作者:枪白  
在有些情况下我们会有合并表头、合并列、合并尾部合计的需求,这篇文章主要给大家介绍了关于前端vue中el-table增加合计行及合并单元格的相关资料,需要的朋友可以参考下

自己总结的,不好别喷,谢谢~~~

先看效果图

表格触发调用方法

<el-table :align="rowTableCenter" id="tables" :data="data"
                          :summary-method="addTotal"  :show-summary="true"  border>
                  <el-table-column label="序号" type="index" align="center"/>

合计行代码

在 合计行方法中 直接去修改了表格样式

//合计行
    addTotal(param) {
      const { columns, data } = param;
      // console.log(columns)
      const sums = [];
      columns.forEach((column, index) => {
        if (index === 0 ) {
          console.log(column)
          column.colSpan = 4;  //行占用格数
          column.rowSpan = 1;  //列占用格数
          sums[index] = '权重得分合计';
        }
        if(index !== 0 && index !== 4){
          column.rowSpan = 0;
          column.colSpan = 0;
          // column.style = {
          //   "display":"none"  //这里加了但是没有作用效果
          // }
          console.log(column)
          return;
        }
        const values = data.map(item => Number(item[column.property]));
        if(index === 4){
          if (!values.every(value => isNaN(value))) {
            sums[index] = values.reduce((prev, curr) => {
              const value = Number(curr);
              if (!isNaN(value)) {
                return prev + curr;
              } else {
                return prev;
              }
            }, 0);
          } else {
            // sums[index] = 'N/A';
          }
        }
      });
//在合计行方法中直接去修改了单元格样式
      //合并单元格
      this.$nextTick(() => {
        const tds = document.querySelectorAll('#tables .el-table__footer tr>td');
        console.log(tds)
        tds.forEach(function (val, index) {
          if (tds[0].innerText === '权重得分合计') {
            if(index !== 0 && index !== 4){
              val.style.display = 'none';
            }else{
              val.style.textAlign = 'center';
            }
            // val.style.display = 'none';
            // val.style.fontSize = '16px';
            // val.style.borderColor = '#aaaaaa';
            // val.style.color = '#fff';
          }
        })
      }, 1000)
      return sums;
    },

总结

到此这篇关于前端vue中el-table增加合计行及合并单元格的文章就介绍到这了,更多相关vue el-table增加合计行内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 详解利用jsx写vue组件的方法示例

    详解利用jsx写vue组件的方法示例

    这篇文章主要给大家介绍了关于利用jsx写vue组件的相关资料,文中通过示例代码介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面跟着小编来一起看看吧。
    2017-07-07
  • 详解如何在Vue中进行表单自定义验证

    详解如何在Vue中进行表单自定义验证

    在Vue应用中,表单验证是非常重要的一部分,Vue提供了一些内置的验证规则,比如required、min、max等,但是有时候我们需要对表单进行自定义验证,以满足特定的业务需求,本文将介绍如何在Vue中进行表单自定义验证,感兴趣的朋友可以参考下
    2023-12-12
  • vue router的基本使用和配置教程

    vue router的基本使用和配置教程

    这篇文章主要介绍了vue-router的基本使用和配置教程,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧,需要的朋友可以参考下
    2018-11-11
  • vue单应用在ios系统中实现微信分享功能操作

    vue单应用在ios系统中实现微信分享功能操作

    这篇文章主要介绍了vue单应用在ios系统中实现微信分享功能操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09
  • 解决vue2中使用axios http请求出现的问题

    解决vue2中使用axios http请求出现的问题

    下面小编就为大家分享一篇解决vue2中使用axios http请求出现的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-03-03
  • Vuei18n 在数组中的使用方式

    Vuei18n 在数组中的使用方式

    这篇文章主要介绍了Vuei18n 在数组中的使用方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • Flutter部件内部状态管理小结之实现Vue的v-model功能

    Flutter部件内部状态管理小结之实现Vue的v-model功能

    本文是 Flutter 部件内部状态管理的小结,从部件的基础开始,到部件的状态管理,并且在过程中实现一个类似 Vue 的 v-model 的功能,感兴趣的朋友跟随小编一起看看吧
    2019-06-06
  • 详解vue中v-model的实现原理

    详解vue中v-model的实现原理

    v-model可以实现数据的双向绑定,也是vue的最突出的优势,其实 v-model 实际上是一个语法糖,本文将给大家介绍一下vue中v-model的实现原理,文中有相关的代码供大家参考,具有一定的参考价值,需要的朋友可以参考下
    2023-12-12
  • vuex的核心概念和基本使用详解

    vuex的核心概念和基本使用详解

    这篇文章主要为大家介绍了vuex的核心概念和基本使用,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-12-12
  • Vue项目保存代码之后页面自动更新问题

    Vue项目保存代码之后页面自动更新问题

    这篇文章主要介绍了Vue项目保存代码之后页面自动更新问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-10-10

最新评论