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

表格合并span-method方法的示例分析-創(chuàng)新互聯(lián)

這篇文章將為大家詳細講解有關(guān)表格合并span-method方法的示例分析,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

成都地區(qū)優(yōu)秀IDC服務器托管提供商(創(chuàng)新互聯(lián)公司).為客戶提供專業(yè)的四川電信機房托管,四川各地服務器托管,四川電信機房托管、多線服務器托管.托管咨詢專線:028-86922220

之前寫了一些關(guān)于element-ui表格合并的方法,不過用的數(shù)據(jù)都是確定的數(shù)據(jù)(死數(shù)據(jù)),但是很多時候我們的數(shù)據(jù)都是通過后臺獲得的,數(shù)據(jù)不穩(wěn)定,這個時候使用表格合并就需要先處理一下數(shù)據(jù),先看一下一種很常見的數(shù)據(jù)展示場景

表格合并span-method方法的示例分析

直接上代碼,HTML代碼就不放了,都是差不多的,下面另一種場景有

// 模擬后臺返回的值
  getTable () {
   this.tableData = [{
    id: 1,
    region: '中國',
    type: [{
     sortName: '器械',
     sortList: [{
      name: '器械1'
     }, {
      name: '器械2'
     }]
    }, {
     sortName: '軟件',
     sortList: [{
      name: '軟件1'
     }, {
      name: '軟件2'
     }, {
      name: '軟件3'
     }]
    }]
   }, {
    id: 2,
    region: '美國',
    type: [{
     sortName: '器械',
     sortList: [{
      name: '器械1'
     }, {
      name: '器械2'
     }]
    }, {
     sortName: '軟件',
     sortList: [{
      name: '軟件1'
     }, {
      name: '軟件2'
     }]
    }]
   }]
   this.dealTable()
  },

  // 處理表格數(shù)據(jù)
  dealTable () {
   let getDate = [] // 存儲新表格數(shù)據(jù)
   let typeIndex = [0] // 保存id,地區(qū)需要合并的值
   let nameIndex = [0] // 保存類型需要合并的值
   let a // id,地區(qū)需要合并的行是所有類型的長度
   this.tableData.forEach((v, index) => {
    if (v.type && v.type.length) {
     a = 0
     v.type.forEach((subV, i, typeData) => {
      if (subV.sortList && subV.sortList.length) {
       subV.sortList.forEach((ss, k, data) => {
        if (k === data.length - 1) {
         typeIndex.push(data.length) // 把每一個類型下面數(shù)據(jù)長度存起來
         a += data.length // 把所有類型下面的數(shù)據(jù)長度相加
         if (i === typeData.length - 1) {
          nameIndex.push(a) // 類型循環(huán)完成后把數(shù)據(jù)長度存起來
         }
        }
        getDate.push({
         id: v.id,
         region: v.region,
         type: subV.sortName,
         name: ss.name
        })
       })
      }
     })
    }
   })

   console.log(nameIndex)
   // [0, 5, 4]
   // 看一下打印出來的規(guī)律,除去第一項,5是第一次需要合并的行
   // 第二次合并又是從第五行開始合并4行

   console.log(typeIndex)
   // [0, 2, 3, 2, 2]
   // 類型的數(shù)據(jù)存儲規(guī)律也是一樣,第一次合并2行
   // 第二次從2行開始,合并3行,以此類推

   // 根據(jù)這個規(guī)則,只需要給數(shù)據(jù)加上兩個額外的屬性控制是否合并就OK
   let k = 0
   let t = 0
   nameIndex.forEach((v, i, nameArr) => {
    if (nameArr[i + 1]) {
     getDate[k].nameIndex = nameArr[i + 1]
     k += nameArr[i + 1]
    }
   })

   typeIndex.forEach((v, i, typeArr) => {
    if (typeArr[i + 1]) {
     getDate[t].typeIndex = typeArr[i + 1]
     t += typeArr[i + 1]
    }
   })
   this.tableData6 = getDate
   console.log(getDate)
   // 0: {id: 1, name: "器械1", nameIndex: 5, region: "中國", type: "器械", typeIndex: 2},
   // 1: {id: 1, name: "器械2", region: "中國", type: "器械"}
   // ....
   // 5: {id: 2, name: "器械1", nameIndex: 4, region: "美國", type: "器械", typeIndex: 2}
  },

  // 表格合并方法
  arraySpanMethod ({ row, column, rowIndex, columnIndex }) {
   if (columnIndex === 0 || columnIndex === 1) {
    if (row.nameIndex) { // 如果有值,說明需要合并
     return [row.nameIndex, 1]
    } else return [0, 0]
   }
   if (columnIndex === 2) {
    if (row.typeIndex) {
     return [row.typeIndex, 1]
    } else return [0, 0]
   }
  },

再說一下另一種場景,用的另一種方法實現(xiàn),原理都是大同小異

表格合并span-method方法的示例分析

假設(shè)后臺返回的數(shù)據(jù)是這樣的:

表格合并span-method方法的示例分析

在這種情況下,一般我們會選擇對行進行合并,因為這時候表格的列是知道的,只要把需要合并的列提取出來,合并行就OK,下面看代碼

<el-table
  :data="tableData6"
  :span-method="arraySpanMethod"
  border
  >
  <el-table-column
   prop="id"
   label="ID"
   width="180">
  </el-table-column>
  <el-table-column
   prop="region"
   label="深圳">
  </el-table-column>
  <el-table-column
   prop="type"
   label="類型">
  </el-table-column>
  <el-table-column
   prop="company"
   label="企業(yè)名稱">
  </el-table-column>
 </el-table>

js代碼,首先需要處理一下后臺數(shù)據(jù)

表格合并span-method方法的示例分析

getIndex () {
   let arr = []
   let s = 0
   let table = this.tableData6
   let getTable = []
   table.forEach((item, i, data) => {
    if (arr.length) {
     s = arr[arr.length - 1].row + data[i - 1].company.length
    }
    arr.push({
     row: s,
     index: item.company.length
    })
    if (item.company && item.company.length) {
     item.company.forEach(subItem => {
      getTable.push({
       id: item.id,
       region: item.region,
       type: item.type,
       company: subItem.name
      })
     })
    }
   })
   this.arr = arr
   this.tableData6 = getTable
  },

數(shù)據(jù)處理之后就進行表格合并

// 合并表格方法
  arraySpanMethod ({ row, column, rowIndex, columnIndex }) {
   if (columnIndex === 0 || columnIndex === 1 || columnIndex === 2) {
    let obj = [0, 0]
    this.arr.some(v => {
     if (rowIndex === v.row) {
      obj = [v.index, 1]
     }
    })

    return obj
   }
  }

PS: 在這里說一下樓主遇到的一個坑,其實也是因為對函數(shù)的return不熟悉造成的,一開始我是這樣寫的,

表格合并span-method方法的示例分析

結(jié)果頁面一直不對,debugger了一下,發(fā)現(xiàn)函數(shù)中根本沒接收到return回去的數(shù)據(jù),這是因為我return之后又寫了代碼,函數(shù)真正結(jié)束時沒有返回值.所以在函數(shù)中,return之后就不要在寫執(zhí)行代碼了.

表格合并span-method方法的示例分析

表格合并span-method方法的示例分析

正確的寫法后debugger就能接收到正確的返回值了

表格合并span-method方法的示例分析

關(guān)于“表格合并span-method方法的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

網(wǎng)站欄目:表格合并span-method方法的示例分析-創(chuàng)新互聯(lián)
本文網(wǎng)址:http://aaarwkj.com/article38/gigsp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃軟件開發(fā)、網(wǎng)站建設(shè)、App設(shè)計網(wǎng)站排名、虛擬主機

廣告

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

搜索引擎優(yōu)化
夜夜春久久天堂亚洲精品| 久久久精品国产亚洲av网黑人 | 欧美中文日韩国产字幕| av天堂网站在线观看| av免费在线不卡一区| 国产精品国产三级国产专播精品 | 少妇人妻精品一区三区二区| 亚洲国产欧美日韩在线| 亚洲高清中文字幕专区| 国产91黑丝在线视频| 成熟人妻中文字幕在线看| 日韩三级在线观看av| 最新免费观看男女啪啪视频| 亚洲伊人av第一页在线观看| 亚洲欧美av中文日韩二区| 日韩人妻中出中文字幕| 日韩精品成人一区二区三区免费 | 精品伊人久久大香线蕉| 亚洲成人久久久久久久| 亚洲精品在线观看午夜福利| 麻豆精品国产免费av影片| 日韩精品欧美精品一区二区| 高清区一区二区在线播放| 亚洲性图中文字幕在线| avav男人天堂亚洲天堂| 丝袜美腿蜜汁一龙二凤| 男人天堂av东京热伊人| 亚洲欧洲日本在线天堂| 热九九这里只有热九九| 亚洲精品你懂的av在线| 亚洲欧美午夜激情啪啪视频| 日韩中文字幕一二三| 国产精品三级电影网| 国产亚洲精品第一最新| 久久久久久亚洲精品人妻| 午夜在线观看视频免费| 国产一级无码免费视频| 国产av毛片一区二区| 久久精品国产亚洲av不丁香| 精彩国产av一区二区三区| 91精品国产综合久蜜臂|