el-table 合集行合并

1.模板中

复制代码
              <el-table :data="form.guestList1" show-summary :summary-method="getSummaries" :span-method="arraySpanMethod" ref="tableSumRef1">
                <el-table-column label="姓名" prop="name" align="center">
                </el-table-column>
                <el-table-column label="国籍" align="center" prop="nationality">
                </el-table-column>
                <el-table-column label="总片酬(万元)" align="center" prop="totalRemuneration">
                </el-table-column>
                <el-table-column label="参与期数" align="center" prop="participation">
                </el-table-column>
              </el-table>

2.js中

2.1计算合计

复制代码
    /**  计算合计*/
    getSummaries(param) {
      const {
        columns,
        data
      } = param;
      const sums = [];
      columns.forEach((column, index) => {
        const values = data.map(item => Number(item[column.property]))
        if (index === 2) {
          sums[index] = values.reduce((prev, curr) => {
            const value = Number(curr)
            if (!isNaN(value)) {
              return prev + curr
            } else {
              return prev
            }
          }, 0)
          sums[index] = "合计:" + sums[index] + " 万元"
        }
      })
      return sums
    },

2.2合并最后一行

复制代码
    arraySpanMethod() {
      setTimeout(() => {
        if (this.$refs.tableSumRef1) {
          let current = this.$refs.tableSumRef1.$el
            .querySelector(".el-table__footer-wrapper")
            .querySelector(".el-table__footer");
          let cell = current.rows[0].cells;

          cell[0].style.display = "none";
          cell[1].style.display = "none";
          cell[2].colSpan = "4";
        }
      }, 50);
    },
相关推荐
BillKu20 分钟前
Vue3 Element Plus 对话框加载实现
javascript·vue.js·elementui
初遇你时动了情1 小时前
html js 原生实现web组件、web公共组件、template模版插槽
前端·javascript·html
前端小崔2 小时前
从零开始学习three.js(18):一文详解three.js中的着色器Shader
前端·javascript·学习·3d·webgl·数据可视化·着色器
运维@小兵2 小时前
vue配置子路由,实现点击左侧菜单,内容区域显示不同的内容
前端·javascript·vue.js
GISer_Jing3 小时前
[前端高频]数组转树、数组扁平化、深拷贝、JSON.stringify&JSON.parse等手撕
前端·javascript·json
古拉拉明亮之神3 小时前
Spark处理过程-转换算子
javascript·ajax·spark
岁岁岁平安4 小时前
Vue3学习(组合式API——Watch侦听器、watchEffect()详解)
前端·javascript·vue.js·学习·watch侦听器·组合式api
码视野4 小时前
基于Spring Boot和Vue的在线考试系统架构设计与实现(源码+论文+部署讲解等)
vue.js·spring boot·系统架构
Stringzhua5 小时前
JavaScript入门【3】面向对象
javascript