vue插件ele使用小坑


1.ele-table組件中selection如何默認選中

 使用官網提供的api-->>Table Methods中的toggleRowSelection,關於這個api基本介紹就不說了。

 在vue中使用方式:建議在computed中使用,監聽table(ref="table",:data="data")中綁定的數據data變化情況,通過相關條件判定table中的row是否被勾選,代碼如下:

  computed:{

    listenData(){

      for(var item of this.data){

         if(判斷條件)this.$refs.table.toggleRowSelection(item,true) 

      }

      return  this.data
    }
  }

  上述代碼,符合判斷條件的默認勾選,下載computed中可以異步請求數據

 

2.同頁面中多個 el-select 的 change 事件的互相影響

  change事件監聽的的該 el-select 值的變化。若select存在,則會一直監聽。

 修改前:

<el-select v-if="showSelect" :key="indexb" v-model="item.status" @change="change" :class="'color'+item.status">
  <el-option
     v-for="(item,index) in statusA"
     :key="index"
     :label="item.label"
     :value="item.val">
   </el-option>
 </el-select>

 出現時機:showSelect:true, statusA改變,會觸發change事件

 解決方案:

  1.由於select的監聽機制,可以先showSelect=false;showSelect=true;會導致重繪,不推薦

  2.change事件仍然可以執行,但對執行時機進行篩選,推薦篩選時機為@visible-change 為 true 和 false

 

<el-select v-show="showSelect" :key="indexb" v-model="item.status" @change="change" @visible-change="canChange" :class="'color'+item.status">
    <el-option
    v-for="(item,index) in statusA"
    :key="index"
    :label="item.label"
    :value="item.val">
    </el-option>
  </el-select>

 3.單頁面使用table時,由於需要固定頭部,並且需要table的height需要響應屏高

     出現時機:頁面使用彈性布局,動態獲取並且設置table的height

  問題:在使用動態組件(組件中多次調用需要響應的table)的時候,table適配的只有第一個動態組件中的;

  解決方案:

    1.由於使用的彈性布局,計算對應的元素的height時,使用上級元素。

 4.table組件中對列使用fixed="left | right",固定列高度不對的情形

  出現幾率:隨機。

  出現時機:由於現有的table組件樣式不符合業務場景的要求,在對table進行全局修改之后。

  臨時應對方案:

    1.增加行高

    2.縮小字體

5.table組件內容出現滾動條,導致列對不齊

  出現幾率:使用小米筆記本測試時

  解決方案:table組件加上 max-height 或者 height。

6.使用ele提供cascader級聯選擇器時出現無限render

  多次測試是由於設置props導致,使用默認值就可以了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM