el-table 合併相同資料的列
<template>
<div class="hello1">
<el-table
:data="tableData"
border
:span-method="spanMethod"
:cell-style="cellStyle"
:header-cell-style="titleHeader"
>
<el-table-column v-for="(item,i) in titleData" :key='i' :prop="item.name" :label='item.label'></el-table-column>
</el-table>
</div>
</template>
<script>
export default {
name: 'HelloWorld',
data () {
return {
// 所有要合併的數量(一行一行的開始)
spanAll:[],
titleData:[
{
name:'col1',
label:'AAA'
},
{
name:'col2',
label:'BBB'
},
{
name:'col3',
label:'CCC'
},
{
name:'col4',
label:'DDD'
}
],
tableData:[
{
col1:1,
col2:2,
col3:3,
col4:4
},
{
col1:2,
col2:2,
col3:4,
col4:4
},
{
col1:6,
col2:2,
col3:7,
col4:5
},
{
col1:5,
col2:4,
col3:7,
col4:9
},
]
}
},
created() {
this.titleData.forEach(val => {
this.getSpanNum(val.name)
})
},
methods:{
// 單元格樣式
cellStyle({row, column, rowIndex, columnIndex}) {
return 'text-align:center'
},
// 表頭樣式
titleHeader({row, column, rowIndex, columnIndex}){
return 'text-align:center'
},
spanMethod({row, column, rowIndex, columnIndex}) {
// 得到行合併的資料
const rowNum= this.spanAll[columnIndex][rowIndex]
// 列合併
const colNum = rowNum > 0 ? 1 : 0
console.log(colNum, '44', rowNum)
// 當前位置的行合併和列合併資料
return {
rowspan: rowNum,
colspan: colNum
}
},
getSpanNum(curName) {
const data = this.tableData
const spanArry = []
let pos = 0
data.forEach((val,i) => {
if(i===0){
spanArry.push(1)
pos = 0
} else {
// 判斷當前列資料與下一行的該列資料是否相同
if (data[i][curName] === data[i-1][curName]) {
// 每一列每一行的合併數量
spanArry[pos] += 1
spanArry.push(0)
} else {
spanArry.push(1)
pos = i
}
}
})
// 把合併資料放入spanAll裡面
this.spanAll.push(spanArry)
}
}
}
</script>
<style>
</style>
執行結果:
相關文章
- el-table合併相同資料的行
- GridView列相同合併View
- el-table 自動合併所有列
- 合併陣列物件中相同的屬性值陣列物件
- js陣列物件相同項合併處理JS陣列物件
- java List中相同的資料合併到一起Java
- pandas 兩列資料合併
- js實現table合併相同列單元格JS
- 【MySQL】MySQL如何合併多行資料,行轉列,group_concat 多行合併MySql
- Excel查詢兩列資料相同的元素Excel
- elementui——表格的相同內容單元格合併UI
- Bootstrap-table 合併相同單元格boot
- 合併陣列陣列
- JavaScript合併表格中的內容相同的單元格JavaScript
- python合併相同行只保留一行Python
- Mac 上檔名相同、大小寫不同的資料夾會合併成一個所導致的問題Mac
- 命令列中的拆分與合併命令列
- excel相同名稱數量相加彙總 excel相同名稱自動合併求和Excel
- python pandas DataFrame-A 更新 DataFrame-B中指定列相同的資料Python
- el-table自定義合併單元格後,單元格錯亂的問題
- element-ui el-table 表格合併後,滑鼠經過的高亮顯示問題UI
- 資料檔案合併與拆分
- JS--陣列物件合併JS陣列物件
- 藍橋杯-合併數列
- Hive列合併與元素蒐集Hive
- 合併兩個有序陣列陣列
- mysql資料庫多表同結構合併資料MySql資料庫
- 資料結構--線段樹合併資料結構
- 資料處理之欄位合併
- 使用python進行合併資料集Python
- 88、合併兩個有序陣列陣列
- js合併兩個陣列物件JS陣列物件
- MySQL 合併查詢join 查詢出的不同列合併到一個表中MySql
- SparkSQL:Parquet資料來源之合併後設資料SparkSQL
- Hbase-原理-region合併和hfile的合併(大合併、小合併)
- rxjs入門6之合併資料流JS
- Git 合併指定檔案或資料夾Git
- springboot-實現excle檔案匯出的單元格相同內容合併Spring Boot