最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

el-table?選中行與復選框相互聯動的實現步驟

 更新時間:2022年10月25日 09:09:55   作者:Ao_min  
這篇文章主要介紹了el-table?選中行與復選框相互聯動,分為兩步,第一步點擊行時觸發(fā)復選框的選擇或取消,第二步點擊復選框時觸發(fā)相應行的變化,本文通過實例代碼給大家詳細講解,需要的朋友可以參考下

需求:對el-table 選中行時復選框也被選中,選中復選框時觸發(fā)行的相應變化(攏共分兩步)

步驟:

第一步:點擊行時觸發(fā)復選框的選擇或取消;

第二步:點擊復選框時觸發(fā)相應行的變化(問題關鍵在怎么獲取復選框選取的行)

1. 點擊行時觸發(fā)復選框的選擇或取消

// <template>
<el-table
            class="right-panel-table"
            :data="tableData"           
            @selection-change="(val) => handleSelectionChange(val,'ischeckboxTick')"
            ref="multipleTable"
            v-loading="planLoading"
            @cell-mouse-enter="handleMouseEnter"
            @cell-mouse-leave="handleMouseOut"
            @row-click="(row,column,event) => handleRowClick(row,column,event,'onclumn')"
            highlight-current-row
          >
 
//  <script>  添加row-click方法,點擊列表行時觸發(fā)
handleRowClick(row,column,event, onclumn){  
      if(onclumn === 'onclumn') {
        this.isonClunm = true;
      }
      row.flag = !row.flag;
      this.$refs.multipleTable.toggleRowSelection(row, row.flag);
      if(row.flag) {
        this.selectSatitleLatLon(row);
      } else {
        this.unselectSatitleLatLon(row);
      }
}

添加完以上代碼后,點擊行,相應行前面的復選框會跟著選中或取消

2.點擊復選框時觸發(fā)相應行的變化(問題關鍵在怎么獲取復選框選取的行)

當點擊列表行時,先觸發(fā)row-click事件,然后再觸發(fā) selection-change事件,點擊復選框時只觸發(fā)selection-change事件,想要判斷出點擊復選框時觸發(fā)的是哪一行時,則需要對上一次選中的列表項和這次選中的列表項對比

// template部分同上
// <script>
handleSelectionChange(val, checkFlag) {
      let that = this;
      if(checkFlag === 'ischeckboxTick') {
        that.ischeckboxTick = true
      }
      // 獲取當前增加的或者減少的那條數據
      let n = {};
      let currentVal = [];
      val.forEach(item => {
        currentVal.push(item);
      })
      if(val.length > that.multipleSelection.length) {
        // 增加時比之前不一樣的某個值
        n = (val.filter(item => !that.multipleSelection.includes(item)))[0];
      } else {
        // 減少時與之前不一樣的值
        let oldSelect = [];
        that.multipleSelection.forEach(item => {
          oldSelect.push(item)
        })
        if(val.length === 0) {
          n = that.multipleSelection[0];
        } else {
          that.multipleSelection.forEach((item, index) => {
            let delIndex = 0;
            currentVal.forEach((item1, index1) => {
              if(item.sname === item1.sname && item.startTime === item1.startTime && item.endTime === item1.endTime) {
                delIndex = index;
                currentVal.splice(index1, 1);
                oldSelect.splice(delIndex, 1, '');   
              }
            })
          })
          oldSelect.forEach(item => {
            if(item !== '') {
              n = item
            }
          })
        }
      }
 
      that.multipleSelection = val;  // 選中的所有項
      that.isonClunm = false;
      that.ischeckboxTick = false;
     
    },

到此這篇關于el-table 選中行與復選框相互聯動的文章就介紹到這了,更多相關el-table 復選框聯動內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Vue3.0 響應式系統(tǒng)源碼逐行分析講解

    Vue3.0 響應式系統(tǒng)源碼逐行分析講解

    這篇文章主要介紹了Vue3.0 響應式系統(tǒng)源碼逐行分析講解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-10-10
  • Vue中實現過渡動畫效果示例代碼

    Vue中實現過渡動畫效果示例代碼

    這篇文章主要介紹了Vue中實現過渡動畫效果示例代碼,Vue中為我們提供一些內置組件和對應的API來完成動畫,利用它們我們可以方便的實現過渡動畫效果,需要的朋友可以參考下
    2022-08-08
  • vue實現離線地圖+leaflet+高德瓦片的詳細代碼

    vue實現離線地圖+leaflet+高德瓦片的詳細代碼

    這篇文章主要給大家介紹了關于vue實現離線地圖+leaflet+高德瓦片的詳細代碼,Vue Leaflet是一種結合了Vue框架和Leaflet庫的前端技術,用于展示和操作天地圖,需要的朋友可以參考下
    2023-10-10
  • vue/Element?UI實現Element?UI?el-dialog自由拖動功能實現

    vue/Element?UI實現Element?UI?el-dialog自由拖動功能實現

    最近工作上需要在el-dialog基礎上進行些功能的改動,下面這篇文章主要給大家介紹了關于vue/Element?UI實現Element?UI?el-dialog自由拖動功能實現的相關資料,需要的朋友可以參考下
    2023-06-06
  • vue項目使用cdn加速減少webpack打包體積

    vue項目使用cdn加速減少webpack打包體積

    通過壓縮代碼的手段可減小網絡傳輸的大小,但實際上最影響用戶體驗的還是網頁首次打開時的加載等待,其根本原因是網絡傳輸過程耗時較大,這篇文章主要給大家介紹了關于vue項目使用cdn加速減少webpack打包體積的相關資料,需要的朋友可以參考下
    2022-08-08
  • vue backtop組件的實現完整代碼

    vue backtop組件的實現完整代碼

    這篇文章主要介紹了vue backtop組件的實現完整代碼,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-04-04
  • Vue中keep-alive組件作用詳解

    Vue中keep-alive組件作用詳解

    這篇文章主要為大家詳細介紹了Vue中keep-alive組件的作用,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • 完美解決axios跨域請求出錯的問題

    完美解決axios跨域請求出錯的問題

    下面小編就為大家分享一篇完美解決axios跨域請求出錯的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-02-02
  • vue.js+Element實現表格里的增刪改查

    vue.js+Element實現表格里的增刪改查

    本篇文章主要介紹了vue.js+Element實現增刪改查,具有一定的參考價值,有興趣的可以了解一下。
    2017-01-01
  • vue移動端設置全屏背景的項目實踐

    vue移動端設置全屏背景的項目實踐

    本vue移動端項目設置全屏背景,關鍵是要找對文件,然后添加background屬性即可,文中通過示例代碼介紹的非常詳細,需要的朋友們下面隨著小編來一起學習學習吧
    2023-08-08

最新評論

辽源市| 卫辉市| 舟山市| 巫山县| 茶陵县| 枣强县| 仪陇县| 繁峙县| 永修县| 双江| 井研县| 旺苍县| 寻甸| 浦江县| 虞城县| 巴彦淖尔市| 施秉县| 乾安县| 廉江市| 钟山县| 马山县| 安福县| 茂名市| 三门峡市| 尼玛县| 桑日县| 广元市| 台江县| 阳东县| 兖州市| 五华县| 九江县| 和林格尔县| 美姑县| 平邑县| 白山市| 司法| 遂宁市| 阳谷县| 大埔区| 平果县|