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

vue使用el-table動態(tài)合并列及行

 更新時間:2021年09月29日 16:33:14   作者:星雨我心愿  
這篇文章主要為大家詳細介紹了vue使用el-table動態(tài)合并列及行,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了vue使用el-table動態(tài)合并列及行的具體代碼,供大家參考,具體內容如下

前兩天項目中需要用到表單合并,特此記錄,放便以后使用。

首先我使用的element-ui中的el-table,文檔中提供span-method方法可以實現(xiàn)合并行或列,大家不熟悉的可以去看看element文檔地址,但是文檔提供的例子很簡單,不能滿足復雜的頁面,所以需要處理一下數(shù)據(jù)。

如下代碼:

getListDataForRowAndColumn(data){
            let self = this;
            self.rowAndColumn = [];
            self.rowRoomColumn = [];
            for (var i = 0; i < data.length; i++) {
                if (i === 0) {
                    // 如果是第一條記錄(即索引是0的時候),向數(shù)組中加入1
                    self.rowAndColumn.push(1);
                    self.pos = 0;
                    self.rowRoomColumn.push(1);
                    self.posT = 0;
                } else {
                    //data[i].typeDesc就是你從接口讀取的字段信息,下同
                    if (data[i].typeDesc === data[i - 1].typeDesc) {
                        // 如果typeDesc相等就累加,并且push 0
                        self.rowAndColumn[self.pos] += 1
                        self.rowAndColumn.push(0)
                        if (data[i].areaDesc === data[i - 1].areaDesc) {
                            // 如果areaDesc相等就累加,并且push 0
                            self.rowRoomColumn[self.posT] += 1
                            self.rowRoomColumn.push(0)
                        } else {
                            self.rowRoomColumn.push(1)
                            self.posT = i
                        }
                    } else {
                        // 不相等push 1
                        self.rowAndColumn.push(1)
                        self.pos = i;
                        self.rowRoomColumn.push(1)
                        self.posT = i
                    }
                }
            }
        },

以上代碼就是來整理你的數(shù)據(jù),注釋寫的很清楚了,相信大家都能看懂,真不行就打印出來看看。

處理完數(shù)據(jù)后就用到上面提到的span-method方法了。如圖:

objectSpanMethod方法如下:

objectSpanMethod({ row, column, rowIndex, columnIndex }) {
            let self = this
            if (columnIndex === 1) {
                if (self.rowAndColumn[rowIndex]) {
                let rowNum = self.rowAndColumn[rowIndex];
                return {
                    rowspan: rowNum,
                    colspan: rowNum > 0 ? 1 : 0
                    }                                                   
                }
                return {
                    rowspan: 0,
                    colspan: 0
                }  
            }
            if (columnIndex === 2) {
                if (self.rowRoomColumn[rowIndex]) {
                let roomNum = self.rowRoomColumn[rowIndex];
                return {
                    rowspan: roomNum,
                    colspan: roomNum > 0 ? 1 : 0
                    }                                                   
                }
                return {
                    rowspan: 0,
                    colspan: 0
                }  
            }
        },

搞定,來看看看效果圖吧

注意,使用這方法時一定要讓后端經過排序后再傳出來,否則頁面可能會達不到你想要的效果。因為我是從第二列開始合并的,所以objectSpanMethod方法中的columnIndex從1開始的,可根據(jù)你的實際情況來。把從接口獲取到的數(shù)據(jù)放到getListDataForRowAndColumn這方法里即可,記得定義rowAndColumn,rowRoomColumn。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Vue利用computed解決單項數(shù)據(jù)流的問題

    Vue利用computed解決單項數(shù)據(jù)流的問題

    Vue是一個非常流行和強大的前端框架,它讓我們可以用簡潔和優(yōu)雅的方式來構建用戶界面,但是,Vue也有一些需要注意和掌握的細節(jié)和技巧,今天我們來分享一個Vue中非常經典的問題,也是一個非常實用的技巧,Vue利用computed解決單項數(shù)據(jù)流,需要的朋友可以參考下
    2023-08-08
  • VUE單頁面切換動畫代碼(全網最好的切換效果)

    VUE單頁面切換動畫代碼(全網最好的切換效果)

    今天小編就為大家分享一篇VUE單頁面切換動畫代碼(全網最好的切換效果),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-10-10
  • 如何快速上手Vuex

    如何快速上手Vuex

    本文主要介紹了Javascript中Vuex的相關知識。具有很好的參考價值,下面跟著小編一起來看下吧
    2017-02-02
  • vue項目如何實現(xiàn)前端預覽word與pdf格式文件

    vue項目如何實現(xiàn)前端預覽word與pdf格式文件

    最近項目中需要在線預覽WORD文檔,所以給大家總結下,這篇文章主要給大家介紹了關于vue項目如何實現(xiàn)前端預覽word與pdf格式文件的相關資料,需要的朋友可以參考下
    2023-03-03
  • Vue 同步異步存值取值實現(xiàn)案例

    Vue 同步異步存值取值實現(xiàn)案例

    這篇文章主要介紹了Vue 同步異步存值取值實現(xiàn)案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • 如何用vue-pdf包實現(xiàn)pdf文件預覽,支持分頁

    如何用vue-pdf包實現(xiàn)pdf文件預覽,支持分頁

    這篇文章主要介紹了如何用vue-pdf包實現(xiàn)pdf文件預覽,支持分頁問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • vue2基本響應式實現(xiàn)方式之讓數(shù)組也變成響應式

    vue2基本響應式實現(xiàn)方式之讓數(shù)組也變成響應式

    這篇文章主要介紹了vue2基本響應式實現(xiàn)方式之讓數(shù)組也變成響應式問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • 如何使用crypto-js對文件上傳下載進行加密處理

    如何使用crypto-js對文件上傳下載進行加密處理

    這篇文章主要介紹了如何使用crypto-js對文件上傳下載進行加密處理方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • 解決Echarts 顯示隱藏后寬度高度變小的問題

    解決Echarts 顯示隱藏后寬度高度變小的問題

    這篇文章主要介紹了解決Echarts 顯示隱藏后寬度高度變小的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • Vue.js學習筆記之修飾符詳解

    Vue.js學習筆記之修飾符詳解

    本篇文章主要介紹了Vue.js學習筆記之修飾符,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07

最新評論