Element UI 表格自定义合计行逻辑

getSummaries(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]));//将所有列转成数字类型
				if(column.align.toString().trim()=='is-right'){//如果当前列的排序方式是右边则进行合计结算
					sums[index] = values.reduce((prev, curr) => {
						const value = Number(curr);
						if (!isNaN(value)) {
							return prev + curr;
						} else {
							return prev;
						}
					}, 0);
				}else{//否则用-显示
					sums[index] = '-';
				}
			});
			return sums;
		}

因为表格渲染为文字左对齐 数字类型右对齐 所以只需要对列的对齐方向做判断 就可以对特定列做合计了

-------------------------------------------------------------更新---------------------------------------------------------------

在使用Element 的Table一次性渲染非常多的数据时出现了页面卡死 加载事件过长的情况

之后发现了一个非常不错的解决方案:umy-ui 的虚拟表格

使用虚拟表格一次性渲染大量数据时不会造成页面的过长加载已经内存溢出等问题

文档链接:http://129.211.13.167/#/wel/component/virtualScrolling

基本使用过程和element差不多 引用一个js和css 然后使用他们的组件 里面的属性基本上和el组件的属性是一致的 但是也有新增的其他属性 也有些方法做出了改变 使用时还是需要对照API看一下的

其次umy的虚拟表格的合计行和el的合计行是有区别的 这里尤其注意!

具体的不同可以去http://129.211.13.167/#/wel/component/totalTable这里查看

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值