el-table 自動合併所有列
像這種 table 我想把每列相同內容的單元格合併,並且 table 欄位和行資料都是動態的,怎麼處理?
我們可以用 el-table 的 span-method 方法實現
進入介面時候首先呼叫 table 列表 API 獲取表頭欄位 和行資料,然後進行要合併行和列進行雙向繫結
---------------------核心程式碼邏輯------------------------------
tableHeader 是後端返回的表頭欄位, tableData 是後端返回的行資料
getSpanArr() {
for (let i = 0; i < this.tableData.length; i++) {
if (i === 0) {
for (let j = 0; j < this.tableHeader.length; j++) {
this.spanArr[i * this.tableHeader.length + j] = {
rowspan: 1,
colspan: 1,
}
}
} else {
for (let j = 0; j < this.tableHeader.length; j++) {
const currentTitle = this.tableHeader[j]['title']
const currentValue = this.tableData[i][currentTitle]
const previousValue = this.tableData[i - 1][currentTitle]
if (currentValue === previousValue) {
let beforeItem =
this.spanArr[(i - 1) * this.tableHeader.length + j]
this.spanArr[i * this.tableHeader.length + j] = {
rowspan: 1 + beforeItem.rowspan,
colspan: 1,
}
beforeItem.rowspan = 0
beforeItem.colspan = 0
} else {
this.spanArr[i * this.tableHeader.length + j] = {
rowspan: 1,
colspan: 1,
}
}
}
}
}
let stack = []
for (let i = 0; i < this.tableHeader.length; i++) {
for (let j = 0; j < this.tableData.length; j++) {
if (j === 0) {
if (this.spanArr[j * this.tableHeader.length + i].rowspan === 0) {
stack.push(this.spanArr[j * this.tableHeader.length + i])
}
} else {
if (this.spanArr[j * this.tableHeader.length + i].rowspan === 0) {
stack.push(this.spanArr[j * this.tableHeader.length + i])
} else {
stack.push(this.spanArr[j * this.tableHeader.length + i])
while (stack.length > 0) {
let pop = stack.pop()
let len = stack.length
this.spanArr[(j - len) * this.tableHeader.length + i] = pop
}
}
}
}
}
},
相關文章
- el-table 合併相同資料的列
- el-table合併相同資料的行
- Win10工作列標籤自動合併該怎麼取消 win10取消工作列合併標籤的方法Win10
- js把陣列裡面的所有物件合併成一個物件JS陣列物件
- 合併陣列陣列
- JAVA使用poi匯出Excel,合併單元格,設定自動列寬JavaExcel
- GridView列相同合併View
- MongoDB新的均衡策略和自動合併MongoDB
- (幾乎)完美實現 el-table 列寬自適應
- 真香警告!擴充套件 swagger支援文件自動列舉所有列舉值套件Swagger
- poi報表匯出 複雜匯出 指定合併列和對比重複列合併行動態匯出
- JS--陣列物件合併JS陣列物件
- 藍橋杯-合併數列
- pandas 兩列資料合併
- Hive列合併與元素蒐集Hive
- 合併兩個有序陣列陣列
- 辦公自動化:PDF檔案合併器,將多個PDF檔案進行合併
- 88、合併兩個有序陣列陣列
- js合併兩個陣列物件JS陣列物件
- 命令列中的拆分與合併命令列
- el-table自定義合併單元格後,單元格錯亂的問題
- element-ui el-table 表格合併後,滑鼠經過的高亮顯示問題UI
- element-plus el-table 動態設定列顯示隱藏
- 【MySQL】MySQL如何合併多行資料,行轉列,group_concat 多行合併MySql
- GitHub 自動合併 pr 的機器人——auto-merge-botGithub機器人
- 求陣列中k個數的所有組合陣列
- NumPy 陣列迭代與合併詳解陣列
- 88. 合併兩個有序陣列陣列
- js陣列物件相同項合併處理JS陣列物件
- 【LeetCode】88. 合併兩個有序陣列LeetCode陣列
- MySQL 合併查詢join 查詢出的不同列合併到一個表中MySql
- 將兩個有序陣列合併為一個有序陣列陣列
- 兩個有序陣列如何合併成一個有序陣列陣列
- Hbase-原理-region合併和hfile的合併(大合併、小合併)
- Python自動合併Word檔案同時新增分頁符的方法Python
- 【Vue】el-table 簡易表格可篩選列Vue
- Java自學並不適合所有的人Java
- 合併陣列物件中相同的屬性值陣列物件