vue多層彈框時存在遮擋應如何解決
阿新 • • 發佈:2022-03-25
問題:
如上圖所示,當存在多層彈框時,點選黃色彈框中紅色內容,彈出藍色彈框時,出現上述情況,即表現出頂層彈框被遮擋的現象,當我們點選藍色彈框時又會出現遮擋消失的情況,下面將對這一問題提出相應的解決辦法。
解決方案:
本人解決思路,首先想到的是找到對應的遮擋層的css標籤,然後修改z-index值,從而解決不同彈框遮擋層在頁面的z-index的不同,但是本思路只能解決首次問題,再次開啟還會存在相同的問題,故該思路錯誤
正確思路:
檢視元件中不同屬性的作用,我使用的藍色彈框是使用的element元件中的dialog元件,故此,通過查詢該元件中的屬性,發現以下三個屬性跟遮擋層有關
遮擋層是必須要使用的,故此排除modal,可以通過在dialog彈框中新增modal-append-to-body或者append-to-body來測試是否能解決以上問題,如果是單層遮擋的話,使用第一個,多層遮擋的話,新增第二個,內部原因還未了解清楚,如有人瞭解相關問題,歡迎指導。
<el-dialog title="提示" append-to-body :visible.sync="dialogVisible" width="30%" :before-close="handleClose"> <span>這是一段資訊</span> <span slot="footer" class="dialog-footer"> <el-button @click="dialogVisible = false">取 消</el-button> <el-button type="primary" @click="dialogVisible = false">確 定</el-button> </span> </el-dialog>