關於element-ui select 下拉框位置錯亂問題解決
element-ui select 下拉框位置錯亂
今天寫bug時 ,突然發現個element下拉框的樣式出現錯亂,折騰瞭大半個小時總算搞定瞭,這裡分享下。
先上錯亂圖
看上圖,正常情況下下拉選項應該貼著select框的,而此時兩者相隔甚遠
這個時候隻能檢查下元素瞭
檢查元素可以看到,el-select默認插入到body中的,現在出現這個bug後我們就不能再插入到body中瞭
官網有個屬性可以設置成不插入到body中,先在代碼中用起來
官網鏈接:element的select組件
那這個時候還不能完全解決問題,我們需要重置下select的默認樣式
在我們的style標簽中寫
隻修改瞭兩處地方就解決瞭這個bug,總體來說應該還是頁面佈局有點問題,但這個祖傳代碼已經不允許我大刀闊斧瞭。。。
element-ui使用時的一些坑點總結
1.el-select 下拉框綁定值為對象時選中值顯示錯亂
如下圖,所有下拉選項都是選中狀態而且不管怎麼選,下拉框顯示的值一直是最後一個選項
解決辦法:加上value-key屬性 官網也有介紹,當綁定值是對象類型是必填
代碼如下,其中value-key屬性的值為數據源數組元素中的唯一鍵。
例如下面的id,如果其他字段的值也是唯一確定的,如reserve1,那麼value-key的值也可以是reserve1
<el-select v-model="goodsForm.currency" value-key="id" placeholder="請選擇" @change="changeCurrencySymbol"> <el-option v-for="item in currencyList" :key="item.id" :label="item.reserve1" :value="item"> </el-option> </el-select>
2.局部覆蓋element-ui的默認樣式
解決辦法:在需要更改的組件裡新增一個style標簽【重點:不要加scoped】,然後直接獲取class設置樣式就可以,記住給class加上能限制范圍的父層選擇器,不然設置的樣式會全局生效
3.el-form 標簽綁定data中的form時候
請使用:model=“form” 而不是v-model=“form”,不然表單校驗會不起作用
原因就是el-form的具有自己封裝的model屬性,表示表單數據對象
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。
推薦閱讀:
- element-ui之解決select無法回顯的問題
- 關於antd中select搜索框改變搜索值的問題
- Vue3+Element+Ts實現表單的基礎搜索重置等功能
- Vue設置select下拉框的默認選項詳解(select空白bug解決)
- element-ui select多選綁定回顯值問題