欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

如何實現element-uitablespan-method行合并-創(chuàng)新互聯

這篇文章主要介紹如何實現element-ui table span-method行合并,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

專注于為中小企業(yè)提供成都網站建設、成都網站制作服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)勐臘免費做網站提供優(yōu)質的服務。我們立足成都,凝聚了一批互聯網行業(yè)人才,有力地推動了上千余家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網站建設實現規(guī)模擴充和轉變。

element-ui官網中關于行合并的例子是根據行號進行合并的,這顯然不符合我們日常開發(fā)需求,因為通常我們table中的數據都是動態(tài)生成的,所以需要做一些修改。我們首先解讀一下官網實例中的各參數的意義:

objectSpanMethod({ row, column, rowIndex, columnIndex }) {
    if (columnIndex === 0) {  //用于設置要合并的列
     if (rowIndex % 2 === 0) {  //用于設置合并開始的行號
      return {
       rowspan: 2,     //合并的行數
       colspan: 1     //合并的列數,設為0則直接不顯示
      };
     } else {
      return {
       rowspan: 0,
       colspan: 0
      };
     }
    }
   }

研究這個例子后不難發(fā)現,實現合并行的方法其實在每一行數據渲染的時候都會執(zhí)行,只不過在渲染過程中我們設置了它合并的行數和列數,以得到不同的效果。所以我們需要生成一個與行數相同的數組記錄每一行設置的合并數。處理過程如下:

getSpanArr(data) { 
 for (var i = 0; i < data.length; i++) {
    if (i === 0) {
       this.spanArr.push(1);
       this.pos = 0
    } else {
     // 判斷當前元素與上一個元素是否相同
  if (data[i].name === data[i - 1].name) {
        this.spanArr[this.pos] += 1;
        this.spanArr.push(0);
       } else {
        this.spanArr.push(1);
        this.pos = i;
       }
    }
  }
},

data就是我們從后臺拿到的數據,通常是一個數組;spanArr是一個空的數組,用于存放每一行記錄的合并數;pos是spanArr的索引。上述代碼意思是:如果是第一條記錄(索引為0),向數組中加入1,并設置索引位置;如果不是第一條記錄,則判斷它與前一條記錄是否相等,如果相等,則向spanArr中添入元素0,并將前一位元素+1,表示合并行數+1,以此往復,得到所有行的合并數,0即表示該行不顯示。

cellMerge({ row, column, rowIndex, columnIndex }) {
   if (columnIndex === 0) {
      const _row = this.spanArr[rowIndex];
      const _col = _row > 0 ? 1 : 0;
      return {
         rowspan: _row,
         colspan: _col
      }
   }
},

然后根據得到的數組spanArr對表格進行合并渲染,并綁定合并方法

<el-table
   border
   :data="tableData"
   
   :span-method="cellMerge">
  ......
</el-table>

效果圖如下:

如何實現element-ui table span-method行合并

注:后臺獲取數據的時候根據要在前臺進行合并的字段進行排序,使要合并的字段值相同的記錄依次相鄰。

合并多行的情況

arraySpanMethod ({ row, column, rowIndex, columnIndex }) {
   if (rowIndex === 1) {
    // 合并第二行
    if (columnIndex === 1) {
     // 從第二列開始
     return [2, 3]
     // 這里返回的是行和列的合并數量,可以返回一個數組,也可以返回一個對象,效果一樣
     // 這里rowspan為2是行有兩行合并,colspan為3是列有3列合并,你要合并幾行幾列就寫上相應的數字

     // 這個判斷是把第一行的第3列,第4列的值省略,在合并的表格右邊直接填原先第5列的值,合并了幾列,就省略幾列的值
    } else if (columnIndex === 2 || columnIndex === 3) {
     return [0, 0]
    }
   } else if (rowIndex === 2 && (columnIndex === 1 || columnIndex === 2 || columnIndex === 3)) {
    // 第二行的第2個數,第3個數,第4個數都要省略
    return [0, 0]
   }
  }

以上是“如何實現element-ui table span-method行合并”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注創(chuàng)新互聯行業(yè)資訊頻道!

文章題目:如何實現element-uitablespan-method行合并-創(chuàng)新互聯
URL地址:http://aaarwkj.com/article24/dipoce.html

成都網站建設公司_創(chuàng)新互聯,為您提供品牌網站設計、建站公司、定制開發(fā)、域名注冊、營銷型網站建設、虛擬主機

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯

小程序開發(fā)
久亚洲精品九九久久99| 人妻少妇麻豆中文字幕久久精品| 在线观看一区二区三区国产视频| av国产剧情在线观看| 欧美香蕉视频一区二区| 欧美精品一区二区三区乱码| 欧美生活一区二区三区| 韩国久久久久三级成人| 亚洲中文字幕激情中午字幕| 成人欧美一区二区三区av| 亚洲黄色av电影在线| 96热久久这里只有精品| 欧美黑人在线一区二区| 国内精品自产拍久久久久久久久91 | 日本亚洲欧美男人的天堂| 国产亚洲无线码一区二区| 国产传媒网站在线观看| 亚洲欧美日韩午夜在线| 亚洲男人天堂在线观看| 人妻一区二区三区免看| 亚洲熟女熟妇另类中文| 国产无遮挡的免费视频| 精品国产一区二区成人| 婷婷六月亚洲中文字幕| 午夜视频免费在线观看| 在线观看青青草原免费| 九九久久九九精美视频| 日韩精品中文字幕影视| 亚洲日本国产精品一区| 亚洲精品在线观看毛片| 亚洲伊人av第一页在线观看| 无人视频在线观看高清91| 成人免费中文字幕电影| 日韩av大片一区二区三区| 午夜性生活视频免费看| 一区二区五区日韩国产| 免费欧美一级黄片播放| 91中文在线观看一区| 精品亚洲av一区二区三区| 伊人久久精品一区二区| 亚洲av第一区综合激情久久久|