Element-UI中el-table如何合并相同單元格
問題背景
項(xiàng)目需求table表格中,相同的類型合并成一個(gè)單元格展示。
問題描述
el-table并沒有相關(guān)的語法直接合并,需要我們自己傳入一個(gè)方法返回一個(gè)數(shù)組格式,來確定要合并行列。

解決問題
首先需要在 el-table 標(biāo)簽上綁定:span-method="objectSpanMethod"
<el-table :data="tableData" :span-method="objectSpanMethod" >
<el-table-column prop="projectName" label="訂單類型" />
</el-table>再去methods中定義 objectSpanMethod 方法,data中定義一個(gè)rowSpanArr參數(shù)
// 獲取相同名稱的個(gè)數(shù) tableData: 表格的數(shù)據(jù), projectName: 確定相同的參數(shù)
handleTableData(tableData){
let rowSpanArr = [], position = 0;
for (let [index, item] of tableData.entries()) {
if (index == 0) {
rowSpanArr.push(1);
position = 0;
} else {
if (item.projectName == tableData[index - 1].projectName) {
rowSpanArr[position] += 1; //項(xiàng)目名稱相同,合并到同一個(gè)數(shù)組中
rowSpanArr.push(0);
} else {
rowSpanArr.push(1);
position = index;
}
}
}
this.rowSpanArr = rowSpanArr
}
// 單元格的處理方法 當(dāng)前行row、當(dāng)前列column、當(dāng)前行號(hào)rowIndex、當(dāng)前列號(hào)columnIndex
objectSpanMethod({ row, column, rowIndex, columnIndex }){
if (columnIndex === 0) {
const rowSpan = this.rowSpanArr[rowIndex];
return {
rowspan: rowSpan, //行
colspan: 1 //列
};
}
}擴(kuò)展
objectSpanMethod({ row, column, rowIndex, columnIndex }) {
if (columnIndex === 0) { // 判斷是不是第一列,只有第一列才執(zhí)行合并
if (rowIndex % 2 === 0) { // 判斷能不能被2整除
return {
rowspan: 2, // 從當(dāng)前單元格開始,執(zhí)行合并2行
colspan: 1, // 從當(dāng)前單元格開始,執(zhí)行合并1列
};
} else {
return { // 第一列的其他元素不執(zhí)行合并
rowspan: 0, // 為0,不執(zhí)行合并
colspan: 0 // 為0,不執(zhí)行合并
};
}
}
}總結(jié)
到此這篇關(guān)于Element-UI中el-table如何合并相同單元格的文章就介紹到這了,更多相關(guān)el-table合并相同單元格內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
ubuntu中利用nginx部署vue項(xiàng)目的完整步驟
Nginx是一款輕量級(jí)的Web服務(wù)器/反向代理服務(wù)器及電子郵件(IMAP/POP3)代理服務(wù)器,在BSD-like 協(xié)議下發(fā)行,下面這篇文章主要給大家介紹了關(guān)于ubuntu中利用nginx部署vue項(xiàng)目的相關(guān)資料,需要的朋友可以參考下2022-02-02
vue 父組件給子組件傳值子組件給父組件傳值的實(shí)例代碼
這篇文章主要介紹了vue 父組件給子組件傳值,子組件給父組件傳值,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-04-04
vuex獲取state對(duì)象中值的所有方法小結(jié)(module中的state)
這篇文章主要介紹了vuex獲取state對(duì)象中值的所有方法小結(jié)(module中的state),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-04-04
Vue實(shí)現(xiàn)頁面跳轉(zhuǎn)方式及傳參方式
這篇文章主要介紹了Vue實(shí)現(xiàn)頁面跳轉(zhuǎn)方式及傳參方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-03-03
解決Vue中使用Echarts出現(xiàn)There?is?a?chart?instance?already?ini
使用echarts的時(shí)候,多次加載會(huì)出現(xiàn)There?is?a?chart?instance?already?initialized?on?the?dom.這個(gè)黃色警告,此警告信息不影響echarts正常加載,但是有bug得解決,本文就帶大家解決這個(gè)問題,感興趣的同學(xué)可以參考閱讀2023-06-06

