vue el-dialog 实现弹窗无限嵌套(点击弹窗弹出新的弹窗,可以一直点击)
在Vue中使用Element UI的el-dialog
组件实现无限嵌套的弹窗,即点击一个弹窗内部可以再次打开新的弹窗,可以通过控制一个变量来管理弹窗的显示和隐藏。以下是一个简单的示例:
<template>
<div>
<el-button @click="outerDialogVisible = true">打开外部弹窗</el-button>
<el-dialog
title="外部弹窗"
:visible.sync="outerDialogVisible"
@close="outerDialogVisible = false">
<el-button @click="innerDialogVisible = true">打开内部弹窗</el-button>
<el-dialog
title="内部弹窗"
:visible.sync="innerDialogVisible"
@close="innerDialogVisible = false">
<!-- 内部弹窗的内容 -->
</el-dialog>
</el-dialog>
</div>
</template>
<script>
export default {
data() {
return {
outerDialogVisible: false,
innerDialogVisible: false,
};
},
};
</script>
在这个例子中,outerDialogVisible
控制外部弹窗的显示,点击外部弹窗内的按钮会将innerDialogVisible
设置为true
从而打开内部弹窗。每个弹窗的@close
事件监听器用于在弹窗关闭时将对应的变量重置,这样就可以阻止无限嵌套的情况发生。
评论已关闭