In Vue 2, when using Element UI 2.x version, if you display two el-dialog components on the page at the same time, there may be a problem with the gray overlay. This is because the el-dialog component by default uses a global overlay to prevent user interaction with other page elements. When multiple el-dialog components appear at the same time, the default global overlay will cause a gray overlay to appear.
To solve this problem, you can set the modal attribute to false for each el-dialog component, which will prevent the appearance of the global overlay. For example:
<template>
<div>
<el-dialog :visible="dialog1Visible" :modal="false">
<!-- Dialog 1 content -->
</el-dialog>
<el-dialog :visible="dialog2Visible" :modal="false">
<!-- Dialog 2 content -->
</el-dialog>
</div>
</template>
<script>
export default {
data() {
return {
dialog1Visible: false,
dialog2Visible: false
}
}
// ...
}
</script>
By setting the modal attribute of each el-dialog component to false, you can display multiple el-dialog components at the same time without the gray overlay appearing.