el-select下拉框的位置異常
阿新 • • 發佈:2021-06-19
問題
工作中偶然發現<el-dialog>
彈框中<el-select>
元件下拉框“飄了”,偏移到了彈框上部,並且這個異常時有時無,但是根據墨菲定律,有概率出現的問題總有一天會出現。果然過了兩天又發現了同樣的問題,並且這個問題的復現幾乎不可控。
解決過程
找技術總監求教,總監大人也不能確定具體原因,只說這個問題他也遇到過,分享了一下經驗,讓我求助前端組大佬。於是,厚著臉皮發了一條釘釘……大佬欣然同意,趕到了工位幫忙解決。一通檢查元素之後,說明了一下出現問題的原因是<el-select>
元件下拉框位置是js計算控制的,而父元素的某些樣式設定可能會造成計算不準確。大佬讓我加上popper-append-to-body="false"
後面兩天寫的新頁面中類似的地方特意拿掉了一些別人封裝的元素,改用普通
<div>
並設定padding-top
樣式,希望沒事(手動狗頭)。
後續
新頁面除錯的時候又發現了同樣的問題,直覺告訴我父元素上設定的overflow:hidden;
樣式有問題,所以將<el-dialog>
彈框移到了該<div>
外面。由於不清楚現有封裝的元件的樣式設定,仍然不排除其他父元素的樣式影響,只能靜觀其變。