亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

使用vxe-table合并單元格后增加選中效果

 更新時間:2022年09月13日 16:36:12   作者:zqian1994  
這篇文章主要介紹了使用vxe-table合并單元格后增加選中效果,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

vxe-table合并單元格后增加選中效果

<vxe-table
      :data="retrievalList"
      :row-class-name="setRowClass"
       @cell-click="selectRow">
     <vxe-column field="name" title="姓名"></vxe-column>
</vxe-table>

后端返回的JSON格式 (合并單元格需要對數(shù)據(jù)處理后,通過setMergeCells合并)

注:

相關(guān)單元格全部選中

效果圖:

 data() {
    return {
    	sourceList: [],  //  后端返回的JSON數(shù)據(jù)
        retrievalList: [],  //  格式化后的數(shù)據(jù) [{},{},{}]
    }
 },
 methods: {
	//  設(shè)置已選中的單元格類名
    setRowClass({row}) {
      //  patId為JSON外層唯一主鍵,選中后根據(jù)主鍵動態(tài)設(shè)置類
      if (row.patId === this.currentRow.patId) {
        return 'current-pat';
      }
    },
    //  單擊選中
    selectRow({row}) {
      //  獲取當(dāng)前合并的單元格整體信息,此處為多條數(shù)據(jù)的集合
      this.currentRow = this.sourceList.find(item => item.patId === row.patId);
    }
 }
//  scss
.vxe-table {
      .current-pat, .current-pat > td {
        background-color: #CBECFC !important;
      }
}

所選單元格整體增加背景色,但僅選中單元格特殊標(biāo)識

注 :

(1)第一列被合并單元格選中樣式默認(rèn)跟隨合并后的第一行。

(2)可自行變形,使首列單元格底色與單項選中的單元格一致。

(3)此處存在個BUG,首次點擊單元格時未出現(xiàn)選中效果;由于已選擇第一種方案,此處未深究,僅做記錄。

 data() {
    return {
    	sourceList: [],  //  后端返回的JSON數(shù)據(jù)
        retrievalList: [],  //  格式化后的數(shù)據(jù) [{},{},{}]
    }
 },
 methods: {
	//  設(shè)置行類名
    setRowClass({row}) {
      if (row.itemId === this.firstItemId) {
      	//  itemId為JSON內(nèi)層nurseOptPatVoList內(nèi)唯一主鍵,用于設(shè)置被合并列單元格底色
        return 'current-first'
      } else if (row.patId === this.currentRow.patId) {
        //  patId為JSON外層唯一主鍵,選中后根據(jù)主鍵動態(tài)設(shè)置類
        return 'current-pat'
      }
    },
    //  單擊選中
    selectRow({row}) {
      //  獲取當(dāng)前合并的單元格整體信息,此處為多條數(shù)據(jù)的集合
      this.currentRow = this.sourceList.find(item => item.patId === row.patId);
      //  獲取當(dāng)前合并的單元格首條信息
      let firstItem = this.retrievalList.find(item => item.patId === row.patId);
      this.firstItemId = firstItem.itemId;
    }
.vxe-table {
      .current-pat {
        background-color: #f00;
      }
      .current-first {
        // 此處不使用important是為了避免背景與選中效果沖突
        background-color: #f00; 
        & > .vxe-body--column:first-child {
          background-color: #f00 !important;
        }
      }
}

vxe-table自動合并單元格

<vxe-table
    @cell-click="handleClickCell"
    :span-method="spanMethods"  //自動合并單元格
    :data="tableData2">
</vxe-table>
spanMethods({row, $rowIndex, column, data}){
      let fields = ["pcsname", "fjname"]
      let cellValue = row[column.property]
      if (cellValue && fields.includes(column.property)) {
        let prevRow = data[$rowIndex - 1]
        let nextRow = data[$rowIndex + 1]
        if (prevRow && prevRow[column.property] === cellValue) {
          return {rowspan: 0, colspan: 0}
        } else {
          let countRowspan = 1
          while (nextRow && nextRow[column.property] === cellValue) {
            nextRow = data[++countRowspan + $rowIndex]
          }
          if (countRowspan > 1) {
            return {rowspan: countRowspan, colspan: 1}
          }
        }
      }
    },

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Vue學(xué)習(xí)筆記之計算屬性與偵聽器用法

    Vue學(xué)習(xí)筆記之計算屬性與偵聽器用法

    這篇文章主要介紹了Vue學(xué)習(xí)筆記之計算屬性與偵聽器用法,結(jié)合實例形式詳細(xì)分析了vue.js計算屬性與偵聽器基本功能、原理、使用方法及操作注意事項,需要的朋友可以參考下
    2019-12-12
  • Vuejs第十一篇組件之slot內(nèi)容分發(fā)實例詳解

    Vuejs第十一篇組件之slot內(nèi)容分發(fā)實例詳解

    這篇文章主要介紹了Vuejs第十一篇之slot內(nèi)容分發(fā)組件詳解的相關(guān)資料
    2016-09-09
  • vue.js移動端tab組件的封裝實踐實例

    vue.js移動端tab組件的封裝實踐實例

    本篇文章主要介紹了vue.js移動端tab的封裝實踐實例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • vue3無法使用jsx的問題及解決

    vue3無法使用jsx的問題及解決

    這篇文章主要介紹了vue3無法使用jsx的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • Vue自定義指令v-focus實例詳解

    Vue自定義指令v-focus實例詳解

    這篇文章主要為大家介紹了Vue自定義指令v-focus實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • uni-app無限級樹形組件簡單實現(xiàn)代碼

    uni-app無限級樹形組件簡單實現(xiàn)代碼

    文章介紹了如何在uni-app中簡單封裝一個無限級樹形組件,該組件可以無線嵌套,展開和收縮,并獲取子節(jié)點數(shù)據(jù),本文通過實例代碼給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧
    2025-01-01
  • Vue實現(xiàn)通知或詳情類彈窗

    Vue實現(xiàn)通知或詳情類彈窗

    這篇文章主要為大家詳細(xì)介紹了Vue實現(xiàn)通知或詳情類彈窗,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • vue3中reactive的對象清空所引發(fā)的問題解決方案(清空不了和清空之后再去賦值就賦值不了)

    vue3中reactive的對象清空所引發(fā)的問題解決方案(清空不了和清空之后再去賦值就賦值不了)

    在使用reactive定義的變量時,直接賦值會失去響應(yīng)式,為了清空?filters并確保響應(yīng)式,可以使用Object.assign({},?filters)或者遍歷對象逐個清除屬性,本文介紹vue3中reactive的對象清空所引發(fā)的問題解決方案(清空不了和清空之后再去賦值就賦值不了),感興趣的朋友一起看看吧
    2025-02-02
  • vue+elementui實現(xiàn)拖住滑塊拼圖驗證

    vue+elementui實現(xiàn)拖住滑塊拼圖驗證

    這篇文章主要為大家詳細(xì)介紹了vue+elementui實現(xiàn)拖住滑塊拼圖驗證,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • vue?this.$router和this.$route區(qū)別解析及路由傳參的2種方式?&&?this.$route的各種語法

    vue?this.$router和this.$route區(qū)別解析及路由傳參的2種方式?&&?this.$route

    this.$router?相當(dāng)于一個全局的路由器對象,包含了很多屬性和對象(比如?history?對象),任何頁面都可以調(diào)用其?push(),?replace(),?go()?等方法,本文給大家介紹Vue中this.$router與this.$route的區(qū)別?及push()方法,感興趣的朋友跟隨小編一起看看吧
    2023-10-10

最新評論