vue elements table :span-method 自动合并行列

:span-method="objectSpanMethod"
mergeLineMethod (){//处理合并表格数据
    let mergeLine=this.tableData
     mergeLine.forEach((res,i) => {
         if (i === 0) {
             this.mergeLineArr.push(1);
             this.mergeLineIndex= 0
         } else {
             // 判断当前元素与上一个元素是否相同,是就给之前相同的第一个+1,并且数组添加一个0
             if (mergeLine[i].type_id === mergeLine[i - 1].type_id) {
                 this.mergeLineArr[this.mergeLineIndex] += 1;
                 this.mergeLineArr.push(0);
             } else {//如果与前一个不相同,则追加一个新从1开始的数字,此时更新mergeLineIndex的值
                 this.mergeLineArr.push(1);
                 this.mergeLineIndex= i;
             }
         } 
     });
     console.log(this.mergeLineArr,this.mergeLineIndex)
 },
 objectSpanMethod ({ row, column, rowIndex, columnIndex }){//合并表格
     if (columnIndex === 0 || columnIndex === 1) {
         const _row = this.mergeLineArr[rowIndex];
         const _col = _row > 0 ? 1 : 0;
         return {
             rowspan: _row,
              colspan: _col
         }
     }
 }

在这里插入图片描述

文章参考:https://blog.csdn.net/qq_29468573/article/details/80742646

发布了29 篇原创文章 · 获赞 22 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/weixin_41628411/article/details/103166444