element 表格行合并問題

前幾天遇到一個需要合并行的表格,需求如圖


Image 006.png

合并行分兩種,一種是后端分頁洁仗,一種是前端分頁

一、先來講后端分頁
element中的表格自帶一個屬性 span-method

     <el-table
          :data="tableData.slice((page - 1) * pageSize, page * pageSize)"
          border
          style="width: 100%"
          :max-height="tableHeight"
          class="tableRowHeight"
          :cell-style="{ 'font-size': '8px' }"
          :header-cell-style="{ 'font-size': '8px' }"
          :span-method="arraySpanMethod"
        >
   // 合并行功能
    arraySpanMethod({ row, column, rowIndex, columnIndex }) {
    //這里表示第一列性锭,rowspan大于等于1就返回colspan為1赠潦,rowspan為0就返回colspan為0
      if (columnIndex === 0) {
        const _row = this.spanArr[rowIndex];
        const _col = _row > 0 ? 1 : 0;
        return {
          rowspan: _row,
          colspan: _col,
        };
      } else {
        return {
          rowspan: 1,
          colspan: 1,
        };
      }
    },

此方法中{ rowspan: 5,colspan: 1 },返回的如下圖草冈,當(dāng)前列的一格對應(yīng)右邊列的5格


Image 005.png

我們就只需要對數(shù)據(jù)處理她奥,生成一個能夠讓span-method處理合并行的數(shù)據(jù)列表

 // 表格行合并的數(shù)據(jù)處理
    dealWithData() {
      const result = [];
      let pos = 0;
      console.log("this.tableData",this.tableData);
      const data = this.tableData;
      for (let i = 0; i < data.length; i++) {
        if (i === 0) {
          // 如果是第一條記錄(即索引是0的時候)瓮增,向數(shù)組中加入1
          result.push(1);
          pos = 0;
        } else {
          // 這里bitCityName 是數(shù)據(jù)里用到的字段,自行修改
          if (data[i].bitCityName === data[i - 1].bitCityName) {
            // 如果相等就累加哩俭,并且push 0(表示刪除后面的格)
            result[pos] += 1;
            result.push(0);
          } else {
            // 不相等push 1
            result.push(1);
            pos = i;
          }
        }
      }
      this.spanArr = result;
   console.log("this.spanArr", this.spanArr, "pos", result[pos], pos);
    },

以上就是后端分頁的處理方式绷跑,利用接口查詢回來的數(shù)據(jù)進(jìn)行處理后再渲染
如果是用的前端分頁的方法,道理也很簡單凡资,先用slice方法進(jìn)行數(shù)組分割

  :data="tableData.slice((page - 1) * pageSize, page * pageSize)"

每換一次頁或者頁碼再把當(dāng)前分割后的tableData再調(diào)用上面所示的dealWithData()方法再進(jìn)行一次數(shù)據(jù)處理再顯示出來就好了

以上是我使用的方法砸捏,如果有大佬有更好的方法希望可以提出來
謝謝

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市讳苦,隨后出現(xiàn)的幾起案子带膜,更是在濱河造成了極大的恐慌,老刑警劉巖鸳谜,帶你破解...
    沈念sama閱讀 218,122評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異式廷,居然都是意外死亡咐扭,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評論 3 395
  • 文/潘曉璐 我一進(jìn)店門滑废,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蝗肪,“玉大人,你說我怎么就攤上這事蠕趁⊙ι粒” “怎么了?”我有些...
    開封第一講書人閱讀 164,491評論 0 354
  • 文/不壞的土叔 我叫張陵俺陋,是天一觀的道長豁延。 經(jīng)常有香客問我,道長腊状,這世上最難降的妖魔是什么诱咏? 我笑而不...
    開封第一講書人閱讀 58,636評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮缴挖,結(jié)果婚禮上袋狞,老公的妹妹穿的比我還像新娘。我一直安慰自己映屋,他們只是感情好苟鸯,可當(dāng)我...
    茶點故事閱讀 67,676評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著棚点,像睡著了一般早处。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上乙濒,一...
    開封第一講書人閱讀 51,541評論 1 305
  • 那天陕赃,我揣著相機(jī)與錄音卵蛉,去河邊找鬼。 笑死么库,一個胖子當(dāng)著我的面吹牛傻丝,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播诉儒,決...
    沈念sama閱讀 40,292評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼葡缰,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了忱反?” 一聲冷哼從身側(cè)響起泛释,我...
    開封第一講書人閱讀 39,211評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎温算,沒想到半個月后怜校,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,655評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡注竿,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,846評論 3 336
  • 正文 我和宋清朗相戀三年茄茁,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片巩割。...
    茶點故事閱讀 39,965評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡裙顽,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出宣谈,到底是詐尸還是另有隱情愈犹,我是刑警寧澤,帶...
    沈念sama閱讀 35,684評論 5 347
  • 正文 年R本政府宣布闻丑,位于F島的核電站漩怎,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏梆掸。R本人自食惡果不足惜扬卷,卻給世界環(huán)境...
    茶點故事閱讀 41,295評論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望酸钦。 院中可真熱鬧怪得,春花似錦、人聲如沸卑硫。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽欢伏。三九已至入挣,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間硝拧,已是汗流浹背径筏。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評論 1 269
  • 我被黑心中介騙來泰國打工葛假, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人滋恬。 一個月前我還...
    沈念sama閱讀 48,126評論 3 370
  • 正文 我出身青樓聊训,卻偏偏與公主長得像,于是被迫代替她去往敵國和親恢氯。 傳聞我的和親對象是個殘疾皇子带斑,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,914評論 2 355

推薦閱讀更多精彩內(nèi)容