Skip to content

Modal 弹窗

用于需要用户处理事务,又不希望跳转页面以致打断工作流程时,可以使用 Modal 在当前页面正中打开一个浮层。

基础用法

类型

Modal 内置了 4 个类型的样式:info、success、error、warning,为了方便调用,设计为静态函数。

确认框

调用 Modal.confirm() 可以快捷显示确认框;onOkonClose 返回 Promise 时,会等待 Promise resolve 后关闭 Modal。

遮罩

通过 mask 属性控制遮罩的显示。mask=false 隐藏遮罩,{ blur: true } 显示模糊遮罩。

自定义底部

通过 #footer 插槽自定义底部按钮区域。

隐藏底部

传入 :footer="null" 可完全隐藏底部操作区。

API

Props

属性类型默认值说明
openboolean是否显示弹窗
titlestring弹窗标题
widthnumber | string520弹窗宽度
closablebooleantrue是否显示右上角关闭按钮
maskboolean | { blur?: boolean }true遮罩配置;false 隐藏遮罩;{ blur: true } 模糊遮罩
footernullundefined传入 null 隐藏底部;undefined 显示默认确认/取消按钮

Slots

插槽名说明
default弹窗内容
title自定义标题
footer自定义底部;不传则显示默认按钮

Events

事件说明
close关闭时触发,点击遮罩或 ESC 均触发

静态方法(从 Modal 导入)

方法说明
Modal.show()基础弹窗,无状态图标
Modal.info()信息类型弹窗
Modal.success()成功类型弹窗
Modal.error()错误类型弹窗
Modal.warning()警告类型弹窗
Modal.confirm()确认框,支持 Promise

StaticModalOptions(show / info / success / error / warning)

属性类型说明
titlestring弹窗标题
contentstring弹窗内容
widthnumber | string弹窗宽度
okTextstring确认按钮文案
onClose() => void关闭回调

ConfirmOptions(confirm)

属性类型说明
titlestring弹窗标题
contentstring弹窗内容
text{ ok?: string; cancel?: string }按钮文案
onOk() => void | Promise<void>确认回调,返回 Promise 时等待后关闭
onClose() => void | Promise<void>取消回调,返回 Promise 时等待后关闭

AUI Vue Components — Built with Vue 3 & VitePress