element 動態(tài)合并表格的步驟
前言
element 官方的例子太簡單了,不滿足實際的需求
數(shù)據(jù)肯定是動態(tài)的,合并的行數(shù),列數(shù)都是動態(tài)的,該如何知道每一行的合并數(shù)呢
需求
動態(tài)合并表格,數(shù)據(jù)來源于數(shù)據(jù)庫
正文
一開始,我的數(shù)據(jù)源是單獨的數(shù)組,表格數(shù)據(jù)合并了幾個數(shù)據(jù),
我根據(jù)各個數(shù)組的長度,來決定每一行的合并數(shù)
結(jié)果:有些數(shù)據(jù)是正常的,但有些又合并出錯了。計算的方式不對

嘗試二
dataPretreatment() 用這個方法 計算出每一行的行數(shù)
dataPretreatment(){ //表格數(shù)據(jù)列合并預(yù)處理,生成一個與行數(shù)相同的數(shù)組記錄每一行設(shè)置的合并數(shù)
// 如果是第一條記錄(索引為0),向數(shù)組中加入1,并設(shè)置索引位置;
// 如果不是第一條記錄,則判斷它與前一條記錄是否相等,如果相等,
// 則向mergingRows中添入元素0,并將前一位元素+1,表示合并行數(shù)+1,
// 以此往復(fù),得到所有行的合并數(shù),0即表示該行不顯示。
for(let i = 0; i < this.tableData.length; i ++){ // tabledata 表格數(shù)據(jù)源
if(i === 0){
this.mergingRows.push(1)
this.mergingPos = 0
}else {
if(this.tableData[i].name === this.tableData[i - 1].name) { //哪些數(shù)據(jù)是要合并的 合并的條件是什么
this.mergingRows[this.mergingPos] +=1
this.mergingRows.push(0)
}else {
this.mergingRows.push(1)
this.mergingPos = i
}
}
}
},
用這個方法 mergeColumn()綁定到官方提供的span-method 方法上面

mergeColumn({row, column, rowIndex, columnIndex}){
if (columnIndex === 0) { //第一列
const _row = this.mergingRows[rowIndex];
const _col = _row>0 ? 1 : 0;
return {
rowspan: _row,
colspan: _col
}
}
// if(columnIndex === 1){ //第二列 每一行的條件可以不一樣 這樣就是動態(tài)多樣合并表格啦
// const _row = this.mergingRows[rowIndex];
// const _col = _row>0 ? 1 : 0;
// return {
// rowspan: _row,
// colspan: _col
// }
// }
},
展示結(jié)果

注意注意
1. 第一列 計算出要合并的行數(shù)

2.發(fā)現(xiàn)鼠標(biāo)在表格移動 mergeColumn()這個方法一直在調(diào)用
Fannie式總結(jié)
一定要高清每一行的合并行數(shù),按列來區(qū)分的
切記切記哦!不然表格合并出來的 跟你想象的不一樣
以上就是element 動態(tài)合并表格的步驟的詳細(xì)內(nèi)容,更多關(guān)于element 動態(tài)合并表格的資料請關(guān)注腳本之家其它相關(guān)文章!
- element el-table如何實現(xiàn)表格動態(tài)增加/刪除/編輯表格行(帶校驗規(guī)則)
- Vue+ElementUI踩坑之動態(tài)顯示/隱藏表格的列el-table-column問題
- element-ui復(fù)雜table表格動態(tài)新增列、動態(tài)調(diào)整行以及列順序詳解
- vue element-ui表格自定義動態(tài)列具體實現(xiàn)
- el-element中el-table表格嵌套el-select實現(xiàn)動態(tài)選擇對應(yīng)值功能
- vue?element-ui動態(tài)橫向統(tǒng)計表格的實現(xiàn)
- element表格行列的動態(tài)合并示例詳解
- Vue+elementui 實現(xiàn)復(fù)雜表頭和動態(tài)增加列的二維表格功能
- element根據(jù)輸入動態(tài)生成表格的示例代碼
相關(guān)文章
vue項目keepAlive配合vuex動態(tài)設(shè)置路由緩存方式
vue項目keepAlive配合vuex動態(tài)設(shè)置路由緩存方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-04-04
vue業(yè)務(wù)實例之組件遞歸及其應(yīng)用
目中出現(xiàn)多級菜單時,需要多層for循環(huán)時,但是當(dāng)菜單增加層級時,需要在頁面結(jié)構(gòu)中增加一層for循環(huán),這時我們可以使用組件遞歸的思想來實現(xiàn),下面這篇文章主要給大家介紹了關(guān)于vue業(yè)務(wù)實例之組件遞歸及其應(yīng)用的相關(guān)資料,需要的朋友可以參考下2022-05-05
解決IE11 vue +webpack 項目中數(shù)據(jù)更新后頁面沒有刷新的問題
今天小編就為大家分享一篇解決IE11 vue +webpack 項目中數(shù)據(jù)更新后頁面沒有刷新的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-09-09

