vue3使用elementPlus进行table合并处理的示例详解
作者: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 element plus table selection展示数据,默认选中功能方式
- element-plus的el-table自定义表头筛选查询功能实现
- Vue3+Element-Plus使用Table预览图片发生元素遮挡的解决方法
- vue3使用element-plus再次封装table组件的基本步骤
- vue3+element Plus实现在table中增加一条表单数据的示例代码
- vue3+elementplus基于el-table-v2封装公用table组件详细代码
- Vue3中Element Plus Table(表格)点击获取对应id方式
- vue3 elementplus table合并写法
- Element UI/Plus中全局修改el-table默认样式的解决方案
- ElementPlus Table表格实现可编辑单元格