当前位置:首页 » 《随便一记》 » 正文

前端 vue el-table 增加合计行及合并单元格

4 人参与  2024年02月25日 17:11  分类 : 《随便一记》  评论

点击全文阅读


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

先看效果图

 表格触发调用方法

<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;    },

 


点击全文阅读


本文链接:http://zhangshiyu.com/post/69904.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1