Skip to content

Modal 模态窗

在保留当前页面状态的情况下,告知用户并承载相关操作。

基础用法

弹出一个对话框,适合定制性更强的场景

需要设置 model-value(v-model) 属性,它接收 Boolean,当为 true 时显示 Modal

推荐

modal 模态窗组件推荐使用 function 方式,有益于逻辑抽离和后续维护。

使用 function 方式需要全局注册使用 modalInstall 方法

ts
import { modalInstall } from 'apathia-ui'
app.use(modalInstall)
vue




自定义宽度

可以通过 width 自定义宽度

vue




关闭方式

点击蒙层关闭 设置 maskClosableesc 关闭弹窗(默认)

vue




自定义 header

可以完全自定义 header 的头部

template 方式通过 header 插槽实现,同时返回关闭 modal 的函数 close

function 方式通过 renderHeader 方法实现, 返回值为 h 函数 、字符JSX

vue




嵌套使用

可以在一个对话框中再次打开一个对话框

vue




prop说明类型默认值
modelValue是否展示, template 方式使用booleanfalse
title标题string''
subTitle副标题string''
top距离页面顶部距离number,string60(px)
width模态窗宽度number,string640(px)
showClose是否展示右上角关闭按钮booleantrue
maskClosable是否可以点击蒙层关闭booleanfalse
keyboard是否可以通过 Esc 按键关闭booleantrue
beforeClose关闭前校验function: () => bool.bool 为 true 则关闭,否则阻止关闭 、 () => true
renderfunction 方式的内容 render 函数function: () => string 、 h 、 JSX-
renderHeaderfunction 方式的 header 的 render 函数function: () => string 、 h 、JSX-
名称说明接收参数
-default(默认插槽),自定义内容插槽-
header自定义头部close: 关闭 modal

events

close: 关闭时触发。无参数