Modal 模态框组件
Modal 用于在当前页面弹出一个模态对话框,常用于展示信息、操作确认或承载交互表单,支持 Esc 快捷关闭。
基础用法
最简单的用法,通过 v-model 控制模态框的显示和隐藏,支持按 Esc 快捷关闭。
简单使用标题和内容
通过 title 和 content 属性快速定义模态框内容。
完全自定义拓展的模态框
使用 title 和 content 插槽可自定义展示样式和结构。
自定义关闭按钮
使用 close 插槽自定义关闭按钮,替代默认的右上角关闭图标。
带自定义关闭按钮
你可以通过自定义 close 插槽替换默认关闭按钮。
宽度高度 & 固定定位
通过 width 和 height 设置模态框尺寸,设置 fixed 属性可固定在页面中央。
大号模态框
这是一个宽 600px,高 300px,并且固定在页面上的模态框。
点击遮罩层不关闭
通过 maskClosable 属性控制是否允许点击遮罩层关闭模态框(仍可按 Esc 关闭)。
强制交互
你必须点击底部按钮、或者关闭图标才能关闭,而不是点击遮罩层。
beforeClose 关闭前拦截
通过 beforeClose 在关闭前进行拦截,支持区分关闭来源(关闭按钮、遮罩、Esc)并支持异步判断。嵌套必须使用 canTeleport
beforeClose 拦截演示
当前会拦截:关闭按钮 / 遮罩 / ESC
最近一次关闭来源: 右上角关闭按钮
触发关闭后会先弹出二次确认框,确认后才真正关闭当前 Modal。
确认关闭
检测到你通过「右上角关闭按钮」触发关闭,是否确认关闭当前 Modal?
检测到你通过「右上角关闭按钮」触发关闭,是否确认关闭当前 Modal?
检测到你通过「右上角关闭按钮」触发关闭,是否确认关闭当前 Modal?
表单模态框
在模态框中放置表单内容,适用于用户信息录入、设置配置等场景。
确认对话框
展示不同类型的确认对话框,包括删除确认、保存确认和警告确认。
确认对话框
⚠️ 删除确认
确定要删除这个项目吗?
删除后将无法恢复,请谨慎操作。
🚨 操作警告
当前操作可能存在风险,请确认是否继续?
建议先备份数据再进行操作。
事件监听
展示模态框的打开和关闭事件监听,以及事件处理的实际应用。
事件监听
事件演示
事件日志
暂无事件,点击“打开事件模态框”开始记录。
属性 Props
是否启用默认安全留白(同时作用于标题与内容区域),完全自定义时可关闭
boolean / string / number / null
关闭前回调,返回 `false` 或 Promise resolve `false` 可阻止关闭
(context: { source: 'close-button' | 'mask' | 'esc' }) => boolean | void | Promise<boolean | void>
是否启用默认安全留白(同时作用于标题与内容区域),完全自定义时可关闭
added 0.6.4, changed 0.6.9 -> true, deprecated 0.7.0
事件 Events
模态框真正关闭时触发(beforeClose 允许后)