Vue+Element-ui Table 列求和

Vue+Element-ui Table 列求和

  • Vue代码
  • 求和getSummaries
  • 效果图

Vue代码

<el-table v-loading="loading" :data="standardList" 
	@sort-change='sortChange' :summary-method="getSummaries" show-summary @selectionchange="handleSelectionChange">

这两个一定要加上 :summary-method=“getSummaries” show-summary
show-summary 也必须加上,如果不加,底部不会显示;
getSummaries对应的计算的函数

求和getSummaries

把getSummaries放在 methods: {}里面即可

getSummaries(param) {
	const { columns, data } = param
	const sums = []
	columns.forEach((column, index) => {
		if (index === 0) {
			sums[index] = '合计'
		} 
		// index >= 3 || index <= 11 是你需要计算的列
		// 当然也可以指定一个或者多个列
		// index === 2 || index === 3 这样值求和第二个与第三个列
		else if (index >= 3 && index <= 11) {
			const values = data.map(item => Number(item[column.property]))
			if (!values.every(value => isNaN(value))) {
				sums[index] = values.reduce((prev, curr) => {
	  				const value = Number(curr)
					if (!isNaN(value)) {
						// 保存了两位小数点
						return Math.floor((prev + curr) * 100) / 100;
					} else {
						// 保存了两位小数点
						return Math.floor(prev * 100) / 100;
					}
				}, 0)
			} else {
				sums[index] = 'N/A'
			}
		} else {
			sums[index] = ''
		}
	})
	return sums
},

效果图

效果图

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cocosum

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值