Skip to content

Dialog 对话框

通过 v-model 控制的模态内容容器。组件负责遮罩、Escape、焦点进入与恢复、滚动锁和过渡事件;表单数据及提交逻辑由业务层维护。

Dialog 面板统一读取全局或局部的 softclearsolid 材质设置,内部 Aurora Plus 组件继承同一材质上下文。模态交互层保持完全透明,不改变对话框之外的页面亮度;面板自身使用背景模糊、细边框和通用浮层阴影表达层级。

系统启用“减少透明度”时,玻璃会自动切换为不透明表面并关闭背景模糊;高对比度模式还会增强边界和分隔线。

打开时默认聚焦对话框容器,不会自动聚焦关闭按钮。需要让表单控件或操作按钮获得初始焦点时,在目标元素上显式添加 autofocus

基础用法

编辑项目资料

表单绑定 draftProfile,并通过底部操作区完成取消或保存。

vue

Dialog API

Attributes

属性说明类型默认值
modelValue / v-model是否显示booleantrue
title默认标题string''
width宽度;数字转换为 pxstring / numbermin(560px, calc(100vw - 32px))
height固定高度;数字转换为 pxstring / number''
maxHeight最大高度;数字转换为 pxstring / number90vh
top对话框顶部外边距;数字转换为 pxstring / number''
modal是否启用透明模态交互层并设置 aria-modalbooleantrue
lockScroll显示期间是否锁定页面滚动booleantrue
appendToBody是否 Teleport 到 bodybooleantrue
closeOnClickModal点击遮罩是否关闭booleanfalse
closeOnOverlaycloseOnClickModal 的兼容属性booleanfalse
closeOnPressEscape按 Escape 是否关闭booleantrue
showClose是否显示右上角关闭按钮booleantrue
closeLabel关闭按钮提示和无障碍名称string关闭
zIndex遮罩层级number10000

Events

事件名说明参数
update:modelValue内部请求关闭时更新绑定值(visible: boolean)
open开始打开时触发
opened打开过渡结束后触发
close组件内部触发关闭时调用(reason: DialogCloseReason)
closed关闭过渡结束后触发

DialogCloseReasonapioverlayescapeclose-button。父组件直接把 v-model 改为 false 时不会额外触发 close

Slots

插槽名作用域参数说明
default{ close }对话框正文
header{ close }自定义标题区域
footer{ close }底部操作区;未提供时不渲染 footer

Exposes

属性或方法说明
close(reason?)从组件实例主动关闭,默认 reason 为 api
dialogRef对话框内容根元素引用

Aurora Plus · Vue 3 Component Library