vue3使用elementPlus进行table合并处理的示例详解

 更新时间:2024年02月27日 09:52:58   作者:weixin_43877575  
虚拟数据中公司下有多个客户,公司一样的客户,公司列需要合并,客户如果一样也需要合并进行展示,所以本文给大家介绍了vue3使用elementPlus进行table合并处理的实例,文中通过代码示例介绍的非常详细,需要的朋友可以参考下

elementPlus中table合并部分列

虚拟数据中公司下有多个客户,公司一样的客户,公司列需要合并,客户如果一样也需要合并进行展示,效果展示

const tableData = ref([])自定定义自已想要的数据,一般都是通过接口拿到

//table
<template>
	<el-table
	  :data="tableData"
	  style="width: 80vw; margin-bottom: 20px"
	  :row-class-name="(({row}) => row.rowClass)"
	  border
	  :span-method="tableSpanMethod"
	>
		<el-table-column prop="company_name" label="公司" width="200"></el-table-column>
		<el-table-column prop="firm_name" label="客户名称"></el-table-column>
		<el-table-column prop="user_name" label="名称"></el-table-column>
		<el-table-column prop="biz_date" label="日期"></el-table-column>
		<el-table-column prop="" label="金额">
			<el-table-column prop="back_date" label="日期"></el-table-column>
			<el-table-column prop="back_status" label="已退"></el-table-column>
			<el-table-column prop="dc_money" label="金额(元)"></el-table-column>
		</el-table-column>
		<el-table-column prop="balance_money" label="余额(元)"></el-table-column>
	</el-table>
	
</template>

定义一个方法进行数据处理:

const getData = ()=>{
		let temp = [],
			companyRow,
			firmRow
		tableData.forEach((item,index)=>{
			temp.push(item)
			companyRow = !companyRow ? Object.assign(item, {companySpan: 0}) : companyRow
			companyRow.companySpan++
			firmRow = !firmRow ? Object.assign(item, {firmSpan: 0}) : firmRow
			firmRow.firmSpan++
			
			if(item.company_name != tableData[index + 1]?.company_name){
				companyRow = null
				firmRow = null
			}else{
				if(item.firm_name !== tableData[index+ 1]?.firm_name){
					firmRow = null
				}
			}
		})
	}

然后是tableSpan的方法定义:

const tableSpanMethod = ({row,column,rowIndex,columnIndex})=>{
		if(column.property ===  'company_name'){
			return row.companySpan ? [row.companySpan, 1] : [0,0]
		}
		if(column.property == 'firm_name'){
			return row.firmSpan ? [row.firmSpan, 1] : [0,0]
		}
	}

到此这篇关于vue3使用elementPlus进行table合并处理的示例详解的文章就介绍到这了,更多相关vue3 elementPlus table合并内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Vue3 的批量渲染机制的两种方法

    Vue3 的批量渲染机制的两种方法

    本文主要介绍了Vue3 的批量渲染机制的两种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-10-10
  • Vue的异步组件加载的实现方法小结

    Vue的异步组件加载的实现方法小结

    在 Vue 中,异步组件是指那些在需要时才会被加载的组件,与传统的静态组件不同,异步组件通过动态加载的方式,可以有效地减少初始加载的资源和时间,在 Vue 中实现异步组件加载非常简单,开发者有多种方法可以做到,本文给大家介绍了一些常用的实现方法
    2024-11-11
  • element的表单元素使用总结

    element的表单元素使用总结

    表单元素挺多的,本文主要介绍了element的表单元素使用总结,主要包括文本框类、选择类、其他类,有一定的参考价值,感兴趣的可以了解一下
    2021-06-06
  • Vue中使用Tiptap富文本编辑器的方法指南

    Vue中使用Tiptap富文本编辑器的方法指南

    Tiptap是一个无头(headless)的富文本编辑器框架,专为 Web 工匠设计,它提供了高度可定制和可扩展的编辑器功能,适用于各种前端框架,这篇文章主要介绍了Vue中使用Tiptap富文本编辑器的相关资料,需要的朋友可以参考下
    2026-02-02
  • 浅谈Vue3 父子传值

    浅谈Vue3 父子传值

    这篇文章主要介绍了基于Vue中的父子传值问题解决,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-10-10
  • vue3+vite:src使用require动态导入图片报错的最新解决方法

    vue3+vite:src使用require动态导入图片报错的最新解决方法

    这篇文章主要介绍了vue3+vite:src使用require动态导入图片报错和解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-04-04
  • vue-cli3脚手架的配置及使用教程

    vue-cli3脚手架的配置及使用教程

    这Vue CLI 是一个基于 Vue.js 进行快速开发的完整系统。篇文章主要介绍了vue-cli3脚手架的配置以及使用,需要的朋友可以参考下
    2018-08-08
  • vue导出报表至excel表格三种方式

    vue导出报表至excel表格三种方式

    这篇文章主要给大家介绍了关于vue导出报表至excel表格的三种方式,导出报表是实际开发的常见功能,前后端都可以实现表格导出,本文介绍的是用vue实现,需要的朋友可以参考下
    2023-09-09
  • Vue eventBus事件总线封装后再用的方式

    Vue eventBus事件总线封装后再用的方式

    EventBus称为事件总线,当两个组件属于不同的两个组件分支,或者两个组件没有任何联系的时候,不想使用Vuex这样的库来进行数据通信,就可以通过事件总线来进行通信,这篇文章主要给大家介绍了关于Vue eventBus事件总线封装后再用的相关资料,需要的朋友可以参考下
    2022-06-06
  • vue集成高德地图amap-jsapi-loader的实现

    vue集成高德地图amap-jsapi-loader的实现

    本文主要介绍了vue集成高德地图amap-jsapi-loader的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06

最新评论