vue+elementUI显示表格指定列合计数据方式

 更新时间:2023年10月19日 09:20:49   作者:Milly_Liu  
这篇文章主要介绍了vue+elementUI显示表格指定列合计数据方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

明确需求

下图来自elementUI官网


在这里插入图片描述

根据合计行数据的来源可以分为两种情况:

  • 接口返回的数据只有表格中对应每个ID的数据,最后一行的合计是由前端来计算的
  • 表格中的合计行数据是从接口中返回的,不是由前端计算的,只需要将拿到的数据显示即可

对于第一种情况,elementUI官网就有案例。

在开发中遇到了第二种情况,来记录一下处理方案:

1.明确返回数据结构

以上述表格为例:

res: {
	memberInfo: [
		{
			ID: 123456,
			'姓名':'王小虎',
			'数值1': 1,
			'数值2': 4,
			'数值3': 7
		},
		{
			ID: 123456,
			'姓名':'王小虎',
			'数值1': 2,
			'数值2': 5,
			'数值3': 8
		},
		{
			ID: 123456,
			'姓名':'王小虎',
			'数值1': 3,
			'数值2': 6,
			'数值3': 9
		}
	],
	sumInfo: {
		'sum1': 6,
		'sum1': 15,
		'sum1': 24,
	}
}

2.elementUI官网 - table显示合计行相关的属性

在这里插入图片描述

<el-table 
	:data = "tableData"
    border
    show-summary
    :summary-method="getSummaries" 
>
</el-table>

3.具体方案

在methods里面定义合计方法:

methods: {
	getSummaries () {
		const { columns, data } = param;
		const sums = [];
		columns.forEach((column, index) => {
		if(index === 0) {
			sums[index] = '合计';
			return;
		}
		switch(column.property) {  // column.property可以匹配它的每一列的命名, 然后赋值
			case "数值1":
				sums[index] = this.sum.sum1; //值取自后台
				break;
			case "数值2":
				sums[index] = this.sum.sum2; //值取自后台
				break;
			case "数值3":
				sums[index] = this.sum.sum3; //值取自后台
				break;
			default:
				break;
			}
		});
		return sums;
	}
}

sum中存放的是从后台拿到的合计数据:

data() {
	return {
		members: []   // === res.memberInfo
		sum:{}   // === res.sumInfo
	}
}

至此,表格尾行显示合计就实现了。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 关于vue中根据用户权限动态添加路由的问题

    关于vue中根据用户权限动态添加路由的问题

    每次路由发生变化时都需要调用一次路由守卫,并且store中的数据会在每次刷新的时候清空,因此需要判断store中是否有添加的动态路由,本文给大家分享vue中根据用户权限动态添加路由的问题,感兴趣的朋友一起看看吧
    2021-11-11
  • vue中的Key值重复问题

    vue中的Key值重复问题

    这篇文章主要介绍了vue中的Key值重复问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-04-04
  • 教你使用vue-autofit 一行代码搞定自适应可视化大屏

    教你使用vue-autofit 一行代码搞定自适应可视化大屏

    这篇文章主要为大家介绍了使用vue-autofit 一行代码搞定自适应可视化大屏教程详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • vue3+ts项目中.env配置环境变量与情景配置方式

    vue3+ts项目中.env配置环境变量与情景配置方式

    本文介绍了如何在Vite中配置环境变量和不同的运行模式,环境变量文件以.env开头,仅VITE_前缀的变量会被暴露,开发模式加载.env.development,生产模式加载.env.production,NODE_ENV用于区分开发和生产环境
    2024-10-10
  • 前端vue项目debugger调试操作详解

    前端vue项目debugger调试操作详解

    在vue项目调试的时候,代码里面标注debugger,这篇文章主要给大家介绍了关于前端vue项目debugger调试操作的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2024-05-05
  • 浅谈VUE项目打包后运行页面一片白问题

    浅谈VUE项目打包后运行页面一片白问题

    本文主要介绍了浅谈VUE项目打包后运行页面一片白问题,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2023-01-01
  • Vue3使用路由VueRouter4的简单示例

    Vue3使用路由VueRouter4的简单示例

    在vue.js项目中使用vue-router,可以使用路由进行界面或路径跳转,下面这篇文章主要给大家介绍了关于Vue3使用路由VueRouter4的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2021-07-07
  • Vue生命周期函数调用详解

    Vue生命周期函数调用详解

    这篇文章主要介绍了Vue生命周期函数调用详解,本文将实现Vue生命周期相关代码的核心逻辑,从源码层面来理解生命周期,感兴趣的小伙伴可以参考一下
    2022-08-08
  • vue parseHTML源码解析hars end comment钩子函数

    vue parseHTML源码解析hars end comment钩子函数

    这篇文章主要为大家介绍了vue parseHTML源码解析hars end comment钩子函数示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • vue移动端微信授权登录插件封装的实例

    vue移动端微信授权登录插件封装的实例

    今天小编就为大家分享一篇vue移动端微信授权登录插件封装的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-08-08

最新评论