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合并内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Vue利用AJAX请求获取XML文件数据的操作方法

    Vue利用AJAX请求获取XML文件数据的操作方法

    在现代Web开发中,从前端框架到后端API的交互是必不可少的一部分,Vue.js作为一个轻量级且功能强大的前端框架,支持多种方式与服务器通信,从而获取或发送数据,本文将详细介绍如何在Vue.js项目中使用AJAX请求来获取XML格式的数据,需要的朋友可以参考下
    2024-09-09
  • Vuex之module使用方法及场景说明

    Vuex之module使用方法及场景说明

    这篇文章主要介绍了Vuex之module使用方法及场景说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-10-10
  • vue3.x使用swiper实现卡片轮播

    vue3.x使用swiper实现卡片轮播

    这篇文章主要为大家详细介绍了vue3.x使用swiper实现卡片轮播,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-07-07
  • vue3 vite配置跨域及不生效问题解决

    vue3 vite配置跨域及不生效问题解决

    这篇文章主要介绍了vue3 vite配置跨域以及不生效问题,本文给大家分享完美解决方案,需要的朋友可以参考下
    2023-07-07
  • VUEJS实战之利用laypage插件实现分页(3)

    VUEJS实战之利用laypage插件实现分页(3)

    这篇文章主要为大家详细介绍了VUEJS实战之修复错误并且美化时间,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-06-06
  • Vue拿到二进制流图片如何转为正常图片并显示

    Vue拿到二进制流图片如何转为正常图片并显示

    这篇文章主要介绍了Vue拿到二进制流图片如何转为正常图片并显示,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-06-06
  • vue-cli+webpack在生成的项目中使用bootstrap实例代码

    vue-cli+webpack在生成的项目中使用bootstrap实例代码

    本篇文章主要介绍了vue-cli+webpack在生成的项目中使用bootstrap实例代码,具有一定的参考价值,有兴趣的可以了解一下
    2017-05-05
  • Vue动态设置img的src不生效的问题解决

    Vue动态设置img的src不生效的问题解决

    本文主要介绍了Vue动态设置img的src不生效的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-01-01
  • uniapp一键打包H5的详细步骤

    uniapp一键打包H5的详细步骤

    uniapp如何打包到H5并成功发布,以及在打包过程中会遇到的坑如何解决,本文将一一讲解,文中通过图文结合的方式给大家讲解的非常详细,具有一定的参考价值,需要的朋友可以参考下
    2024-10-10
  • 使用vue.js在页面内组件监听scroll事件的方法

    使用vue.js在页面内组件监听scroll事件的方法

    今天小编就为大家分享一篇使用vue.js在页面内组件监听scroll事件的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-09-09

最新评论