欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue單元格多列合并的實(shí)現(xiàn)

 更新時(shí)間:2020年11月26日 11:15:09   作者:Yolanda本尊58658  
這篇文章主要介紹了vue單元格多列合并的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

一.多列合并

1.在el-table中添加:span-method="objectSpanMethod"屬性來控制合并單元格,如下圖

2.合并代碼,每一列都要設(shè)置一個(gè)不同的key,這樣可以防止合并的時(shí)候上下內(nèi)容一樣導(dǎo)致錯(cuò)誤的問題

objectSpanMethod({ row, column, rowIndex, columnIndex }) {
   if (columnIndex === 0) {
    if (this.myObj[row.channel_type].start === rowIndex) {
     return {
      rowspan: this.myObj[row.channel_type].step,
      colspan: 1
     };
    } else {
     return {
      rowspan: 0,
      colspan: 0
     };
    }
   }
   if (columnIndex === 1) {
    if (
     this.myObj_two[row.channel_name_chinese + row.channel_type].start ===
     rowIndex
    ) {
     return {
      rowspan: this.myObj_two[row.channel_name_chinese + row.channel_type]
       .step,
      colspan: 1
     };
    } else {
     return {
      rowspan: 0,
      colspan: 0
     };
    }
   }
  },
   // 合并單元格第一列
  resolveData(arr) {
   var obj = {};
   arr.forEach((val, key) => {
    if (!obj[val.channel_type]) {
     obj[val.channel_type] = {
      start: key,
      step: 1
     };
    } else {
     obj[val.channel_type].step++;
    }
   });
   this.myObj = obj;
   console.log(obj);
  },
  // 合并單元格第二列
  resolveData_two(arr) {
   var obj = {};
   arr.forEach((val, key) => {
    if (!obj[val.channel_name_chinese + val.channel_type]) {
     obj[val.channel_name_chinese + val.channel_type] = {
      start: key,
      step: 1
     };
    } else {
     obj[val.channel_name_chinese + val.channel_type].step++;
    }
   });
   this.myObj_two = obj;
   console.log(this.myObj_two, "this.myObj");
  },

3.需要調(diào)用一下下面兩個(gè)函數(shù),data為你所獲取的所有數(shù)據(jù)

 this.resolveData_two(data);
     this.resolveData(data);

4.合并結(jié)果如下圖

到此這篇關(guān)于vue單元格多列合并的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)vue單元格多列合并內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論