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>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM