vue3+element-plus中dialog对话框组件去掉遮罩层后可以操作底层页面,以及弹窗嵌套弹窗如何去掉遮罩层且可以操作底层页面
在Vue 3和Element Plus中,如果你想要在去掉遮罩层后仍然能操作底层页面,你可以通过设置append-to-body
属性为true
来实现。这样,对话框就会被添加到body上,从而不会阻塞底层页面的交互。
对于弹窗嵌套,Element Plus的Dialog组件本身支持嵌套。你只需要确保每个Dialog都有一个独立的visible
属性,并且这些属性是响应式的,这样就可以控制它们的显示和隐藏了。
以下是一个简单的例子:
<template>
<el-button @click="outerVisible = true">打开外层Dialog</el-button>
<el-dialog
:visible.sync="outerVisible"
title="外层Dialog"
append-to-body
>
<el-button @click="innerVisible = true">打开内层Dialog</el-button>
<el-dialog
:visible.sync="innerVisible"
title="内层Dialog"
append-to-body
>
<!-- 内层Dialog的内容 -->
</el-dialog>
</el-dialog>
</template>
<script setup>
import { ref } from 'vue';
import { ElButton, ElDialog } from 'element-plus';
const outerVisible = ref(false);
const innerVisible = ref(false);
</script>
在这个例子中,我们有一个外层Dialog和一个内层Dialog。每个Dialog都有一个触发按钮,并且它们的visible
属性是响应式的。这样,当内层Dialog打开时,外层Dialog仍然可以操作。而且,通过设置append-to-body
属性为true
,它们都能够显示在页面的底部,而不是阻塞页面的其它部分。
评论已关闭