解決vue和el-dialog的遮罩層消失

一、解決vue和element UI中對話框的遮罩層消失,在el-dialog標籤裏添加 :modal-append-to-body=‘false’

錯誤分析
1)若el-dialog彈出框設置了modal-append-to-body=‘true’(默認)屬性,它的遮罩層就會被插入到body標籤下(即與組件所在的最外層div同一層級)
2)el-dialog的顯示層和遮罩層都設置了position:fixed,當然顯示層的z-index肯定要比遮罩層的大,才能正常的顯示彈出框。問題就出在此處,若el-dialog的父級也設置了position:fixed,並且其z-index比彈出框的遮罩層的小(遮罩層處於更高一層),那麼彈出框的內容就會被遮罩層所遮擋住了
3)el-dialog的父級元素確實設置了position:fixed,並且其z-index比彈出框的遮罩層的小,所以就會出現遮罩層把內容擋住的問題

解決辦法
1)給el-dialog設置modal-append-to-body=“false”,使遮罩層插入至 Dialog 的父元素上
2)給position:fixed的父元素設置一個z-index,並且要比遮蓋層的大
3)el-dialog父元素不使用fixed定位

二、el-dialog 彈窗遮罩層在彈出層的上面
:append-to-body=“true”

跟據情況自己選擇是 false還是true

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章