Modal 模态框
在当前页面打开一个浮层,承载相关操作。
引入方法
- 全局调用:组件为 app.config.globalProperties 添加了全局方法 $modal。 因此在 vue 实例中可以使用当前页面中的调用方式调用 Modal。
- 单独调用:此时调用方法为 TuModalBox(options)。 每个类型定义了各自的方法,如 TuModalBox.success(options)。
- 组件调用:导入Modal组件,通过Modal本身调用。
基础用法
输入框的基本用法。
消息提示
有info, success, warning, error四种类型的消息提示,仅提供一个确认按钮用于关闭消息提示对话框。消息默认会默认开启 simple 和 hideCancel,如果想要取消可以再次设置。
嵌套的模态框
嵌套的模态框的基本用法。
异步关闭
可以通过 on-before-ok 实现异步关闭功能。
自适应宽度
设置 width 为 auto 可以让对话框自适应宽度
可拖动
开启 draggable 属性,允许用户拖动对话框。
全屏显示
开启 fullscreen 属性,可以让对话框占满整个容器。
不同尺寸
组件提供除了默认值 medium 以外的三种尺寸。额外的尺寸:large、small、mini,通过设置 size 属性来配置它们。
Modal API
Modal Attributes
参数名 | 描述 | 类型 | 默认值 |
---|---|---|---|
visible(v-model) | 对话框是否可见 | Boolean | - |
default-visible | 对话框默认是否可见(非受控状态) | Boolean | false |
width | 对话框的宽度,不设置的情况下会使用样式中的宽度值 | Number String | - |
top | 对话框的距离顶部的高度,居中显示开启的情况下不生效 | Number String | - |
mask | 是否显示遮罩层 | Boolean | true |
title | 标题 | String | - |
title-align | 标题的水平对齐方向 | String | center |
align-center | 对话框是否居中显示 | Boolean | true |
unmount-on-close | 关闭时是否卸载节点 | Boolean | false |
mask-closable | 是否点击遮罩层可以关闭对话框 | Boolean | true |
hide-cancel | 是否隐藏取消按钮 | Boolean | false |
simple | 是否开启简单模式 | Boolean | false |
closable | 是否显示关闭按钮 | Boolean | true |
ok-text | 确认按钮的内容 | String | - |
cancel-text | 取消按钮的内容 | String | - |
ok-loading | 确认按钮是否为加载中状态 | Boolean | false |
ok-button-props | 确认按钮的Props | ButtonProps | - |
cancel-button-props | 取消按钮的Props | ButtonProps | - |
footer | 是否展示页脚部分 | Boolean | true |
render-to-body | 对话框是否挂载在 body 元素下 | Boolean | true |
popup-container | 弹出框的挂载容器 | String HTMLElement | body |
mask-style | 蒙层的样式 | String Object | - |
modal-class | 对话框的类名 | String Array | - |
modal-style | 对话框的样式 | String Object | - |
on-before-ok | 触发 ok 事件前的回调函数。如果返回 false 则不会触发后续事件,也可使用 done 进行异步关闭。 | Function | - |
on-before-cancel | 触发 cancel 事件前的回调函数。如果返回 false 则不会触发后续事件。 | Function | - |
esc-to-close | 是否支持 ESC 键关闭对话框 | Boolean | true |
draggable | 是否支持拖动 | Boolean | false |
fullscreen | 是否开启全屏 | Boolean | false |
mask-animation-name | 遮罩层动画名字 | String | - |
modal-animation-name | 对话框动画名字 | String | - |
body-class | 对话框内容部分的类名 | String Array | - |
body-style | 对话框内容部分的样式 | String Object | - |
Modal Events
事件名 | 描述 | 参数 |
---|---|---|
ok | 点击确定按钮时触发 | Function |
cancel | 点击取消、关闭按钮时触发 | Function |
open | 对话框打开后(动画结束)触发 | - |
close | 对话框关闭后(动画结束)触发 | - |
before-open | 对话框打开前触发 | - |
before-close | 对话框关闭前触发 | - |
Modal Slots
参数名 | 描述 |
---|---|
title | 标题 |
footer | 页脚 |