当前位置: 首页 > news >正文

el-table表格表尾合计行,指定合计某几列,自定义合计方法

🤵 作者coderYYY
🧑 个人简介:前端程序媛,目前主攻web前端,后端辅助,其他技术知识也会偶尔分享🍀欢迎和我一起交流!🚀(评论和私信一般会回!!)
👉 个人专栏推荐:《前端项目教程以及代码》

✨一、前言

  • el-table如果加上show-summary属性,表尾第一列会显示“合计”二字,其余列会将本列所有数值进行求合操作,并显示出来。
<template><el-table:data="tableData"bordershow-summarystyle="width: 100%"><el-table-columnprop="id"label="ID"width="180"></el-table-column><el-table-columnprop="name"label="姓名"></el-table-column><el-table-columnprop="amount1"sortablelabel="数值 1"></el-table-column><el-table-columnprop="amount2"sortablelabel="数值 2"></el-table-column><el-table-columnprop="amount3"sortablelabel="数值 3"></el-table-column></el-table>
  • 有时候只想对其中几列进行合计,就可以使用summary-method自定义我们的合计方法,指定要合计哪些列。

🚩二、具体实现

方法很简单,只要加个条件就可以

<el-table:data="tableData"borderheight="200":summary-method="getSummaries"show-summarystyle="width: 100%; margin-top: 20px"><el-table-columnprop="id"label="ID"width="180"></el-table-column><el-table-columnprop="name"label="姓名"></el-table-column><el-table-columnprop="amount1"label="数值 1(元)"></el-table-column><el-table-columnprop="amount2"label="数值 2(元)"></el-table-column><el-table-columnprop="amount3"label="数值 3(元)"></el-table-column></el-table>
</template><script>export default {data() {return {tableData: [{id: '12987122',name: '王小虎',amount1: '234',amount2: '3.2',amount3: 10}, {id: '12987123',name: '王小虎',amount1: '165',amount2: '4.43',amount3: 12}, {id: '12987124',name: '王小虎',amount1: '324',amount2: '1.9',amount3: 9}, {id: '12987125',name: '王小虎',amount1: '621',amount2: '2.2',amount3: 17}, {id: '12987126',name: '王小虎',amount1: '539',amount2: '4.1',amount3: 15}]};},methods: {//指定列求和getSummaries(param) {// console.log(param);const { columns, data } = param;const sums = [];columns.forEach((column, index) => {if (index === 0) {sums[index] = "合计";return;}const values = data.map((item) => Number(item[column.property]));// 只合计amount1和amount3,想合并哪些列就在这里指定if (column.property === "amount1"||column.property === "amount2") {sums[index] = values.reduce((prev, curr) => {const value = Number(curr);if (!isNaN(value)) {return prev + curr;} else {return prev;}}, 0);}});return sums;},};
</script>
http://www.lryc.cn/news/458012.html

相关文章:

  • 一款工具替你解决Mac电脑菜单栏图标杂乱问题
  • MySQL 基础入门教程
  • 俏生元将传统膳食智慧融入现代生活,自然成分绽放健康光彩
  • 腾讯云推流播放相关
  • UE5运行时动态加载场景角色动画任意搭配-相机及运镜(二)
  • @JsonAlias和@JSONField序列化和反序列化
  • k8s1.27部署ingress 1.11.2
  • 【运维】自动化运维详解
  • 线控底盘技术介绍
  • DOM对象
  • [SQL] 数据库图形化安装和使用
  • springboot 前后端处理日志
  • C++11 简单手撕多线程编程
  • 刷c语言练习题7(牛客网)
  • Web Worker和WebSocket
  • 【LeetCode】动态规划—712. 两个字符串的最小ASCII删除和(附完整Python/C++代码)
  • wordpress Contact Form 7插件提交留言时发生错误可能的原因
  • uibot发送邮件:自动化邮件发送教程详解!
  • 【PostgreSQL】PG数据库表“膨胀”粗浅学习
  • 力扣(leetcode)每日一题 871 最低加油次数 | 贪心
  • ppt压缩文件怎么压缩?压缩PPT文件的多种压缩方法
  • 2024.10月11日--- SpringMVC拦截器
  • uniapp 锁屏显示插件 Ba-LockShow(可让vue直接具备锁屏显示能力)
  • CSS计数器
  • 嵌入式Linux:信号集
  • Linux 外设驱动 应用 1 IO口输出
  • 基于SpringBoot+Vue+MySQL的留守儿童爱心网站
  • 调用第三方接口
  • JAVA 多线程入门例子:CountDownLatch
  • k8s jenkins 动态创建slave