1. 程式人生 > 其它 >el-select下拉框的位置異常

el-select下拉框的位置異常

問題

工作中偶然發現<el-dialog>彈框中<el-select>元件下拉框“飄了”,偏移到了彈框上部,並且這個異常時有時無,但是根據墨菲定律,有概率出現的問題總有一天會出現。果然過了兩天又發現了同樣的問題,並且這個問題的復現幾乎不可控。

解決過程

找技術總監求教,總監大人也不能確定具體原因,只說這個問題他也遇到過,分享了一下經驗,讓我求助前端組大佬。於是,厚著臉皮發了一條釘釘……大佬欣然同意,趕到了工位幫忙解決。一通檢查元素之後,說明了一下出現問題的原因是<el-select>元件下拉框位置是js計算控制的,而父元素的某些樣式設定可能會造成計算不準確。大佬讓我加上popper-append-to-body="false"

屬性,將信將疑地加上了就沒管了。
後面兩天寫的新頁面中類似的地方特意拿掉了一些別人封裝的元素,改用普通<div>並設定padding-top樣式,希望沒事(手動狗頭)。

後續

新頁面除錯的時候又發現了同樣的問題,直覺告訴我父元素上設定的overflow:hidden;樣式有問題,所以將<el-dialog>彈框移到了該<div>外面。由於不清楚現有封裝的元件的樣式設定,仍然不排除其他父元素的樣式影響,只能靜觀其變。