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導致,使用默認值就可以了
