Vue Elenent實現(xiàn)表格相同數(shù)據(jù)列合并
更新時間:2020年11月30日 15:17:26 作者:Qiu_MT
這篇文章主要為大家詳細介紹了Vue Elenent實現(xiàn)表格相同數(shù)據(jù)列合并,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了Vue Elenent實現(xiàn)表格相同數(shù)據(jù)列合并的具體代碼,供大家參考,具體內(nèi)容如下
作者:秋名
思路:后臺查詢表格數(shù)據(jù),查詢出來后直接傳到前端,前端通過foreach循環(huán),然后對相同的表格進行合并。(同一個表格,但是每一行,固定一列的數(shù)據(jù)都相同,即可使用合并單元格,做到了既美觀,也清晰。)
template:
<el-table :span-method="objectSpanMethod4" //在el-table里面添加合并單元格屬性 >
Js:
data(){
return{
orderdata:null,// 后端將數(shù)據(jù)查詢出來后,綁定到orderdata里面
}
},
methods: {
flitterData4(){
let spanOneArr = []
let concatOne = 0
//let spanOneArr1 = []
//let concatOne1 = 0
this.orderdata.forEach((item,index)=>{//循環(huán)后端查詢出來的數(shù)據(jù)(orderdata)
if(index === 0){
spanOneArr.push(1)
}else{
//name 修改
if(item.ENTERNAME === this.orderdata[index - 1].ENTERNAME){ //第一列需合并相同內(nèi)容的字段
spanOneArr[concatOne] += 1
spanOneArr.push(0)
}else{
spanOneArr.push(1)
concatOne = index
}
//if(item.coachName === this.coachdata[index - 1].coachName){ //第二列需合并相同內(nèi)容的判斷條件
//spanOneArr1[concatOne1] += 1
//spanOneArr1.push(0)
//}else{
//spanOneArr1.push(1)
//concatOne1 = index
// }
}
})
return {
one: spanOneArr,
//two:spanOneArr1
}
},
objectSpanMethod4({row, column, rowIndex, columnIndex}){
if(columnIndex === 0 ) {
// this.tableData 修改
const _row = (this.flitterData4(this.tableData).one)[rowIndex]
const _col = _row > 0 ? 1 : 0
return {
rowspan: _row,
colspan: _col
}
}
//判斷是否是第二列,如果是就將第二列相同字段進行合并
//if(columnIndex === 1) {
// const _row = (this.flitterData(this.tableData).two)[rowIndex]
// const _col = _row > 0 ? 1 : 0
// return {
// rowspan: _row,
// colspan: _col
// }
}
},
}
效果圖:

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Vue的Eslint配置文件eslintrc.js說明與規(guī)則介紹
最近在跟著視頻敲項目時,代碼提示出現(xiàn)很多奇奇怪怪的錯誤提示,百度了一下是eslintrc.js文件沒有配置相關(guān)命令,ESlint的語法檢測真的令人抓狂,現(xiàn)在總結(jié)一下這些命令的解釋2020-02-02
Vue.js結(jié)合bootstrap前端實現(xiàn)分頁和排序效果
這篇文章主要為大家詳細介紹了Vue.js結(jié)合bootstrap 前端實現(xiàn)分頁和排序效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-12-12

