vue3使用elementPlus進(jìn)行table合并處理的示例詳解
elementPlus中table合并部分列
虛擬數(shù)據(jù)中公司下有多個(gè)客戶,公司一樣的客戶,公司列需要合并,客戶如果一樣也需要合并進(jìn)行展示,效果展示

const tableData = ref([])自定定義自已想要的數(shù)據(jù),一般都是通過接口拿到
//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>
定義一個(gè)方法進(jìn)行數(shù)據(jù)處理:
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]
}
}
到此這篇關(guān)于vue3使用elementPlus進(jìn)行table合并處理的示例詳解的文章就介紹到這了,更多相關(guān)vue3 elementPlus table合并內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- vue3?element?plus?table?selection展示數(shù)據(jù),默認(rèn)選中功能方式
- element-plus的el-table自定義表頭篩選查詢功能實(shí)現(xiàn)
- Vue3+Element-Plus使用Table預(yù)覽圖片發(fā)生元素遮擋的解決方法
- vue3使用element-plus再次封裝table組件的基本步驟
- vue3+element Plus實(shí)現(xiàn)在table中增加一條表單數(shù)據(jù)的示例代碼
- vue3+elementplus基于el-table-v2封裝公用table組件詳細(xì)代碼
- Vue3中Element Plus Table(表格)點(diǎn)擊獲取對應(yīng)id方式
- vue3 elementplus table合并寫法
- Element?UI/Plus中全局修改el-table默認(rèn)樣式的解決方案
- ElementPlus?Table表格實(shí)現(xiàn)可編輯單元格
相關(guān)文章
Vue的異步組件加載的實(shí)現(xiàn)方法小結(jié)
在 Vue 中,異步組件是指那些在需要時(shí)才會(huì)被加載的組件,與傳統(tǒng)的靜態(tài)組件不同,異步組件通過動(dòng)態(tài)加載的方式,可以有效地減少初始加載的資源和時(shí)間,在 Vue 中實(shí)現(xiàn)異步組件加載非常簡單,開發(fā)者有多種方法可以做到,本文給大家介紹了一些常用的實(shí)現(xiàn)方法2024-11-11
vue3+vite:src使用require動(dòng)態(tài)導(dǎo)入圖片報(bào)錯(cuò)的最新解決方法
這篇文章主要介紹了vue3+vite:src使用require動(dòng)態(tài)導(dǎo)入圖片報(bào)錯(cuò)和解決方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-04-04
vue集成高德地圖amap-jsapi-loader的實(shí)現(xiàn)
本文主要介紹了vue集成高德地圖amap-jsapi-loader的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06

