1. 程式人生 > 其它 >vue多層彈框時存在遮擋應如何解決

vue多層彈框時存在遮擋應如何解決

問題: 

  如上圖所示,當存在多層彈框時,點選黃色彈框中紅色內容,彈出藍色彈框時,出現上述情況,即表現出頂層彈框被遮擋的現象,當我們點選藍色彈框時又會出現遮擋消失的情況,下面將對這一問題提出相應的解決辦法。

解決方案:

  本人解決思路,首先想到的是找到對應的遮擋層的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>