推荐第三种!
1.避免同时打开多个对话框,打开一个并关闭另一个
2.如果非要一起显示, 使用append-to-body
属性
将<el-dialog>
的append-to-body
属性设置为true
,这样对话框会被插入到body元素中,而不是当前组件的DOM结构中,这有助于避免z-index冲突和层级问题:
<el-dialog :visible.sync="dialogFormVisible" title="对话框" append-to-body>
<!-- 对话框内容 -->
</el-dialog>
3确保z-index正确管理
如果对话框仍然重叠,可能是因为CSS的z-index设置不当。确保每个对话框的父容器或者全局样式中没有其他元素设置了过高的z-index。你可以为每个对话框设置一个较高的z-index或者在必要时动态调整z-index。例如:
.custom-dialog {
z-index: 2000; /* 根据需要调整 */
}
<el-dialog class="custom-dialog" :visible.sync="dialogFormVisible" title="对话框">
<!-- 对话框内容 -->
</el-dialog>