# Modal 模态框
# 介绍
弹出模态框,常用于消息提示、消息确认,或在当前页面内完成特定的交互操作。
模态框组件支持函数调用和组件调用两种方式。
# 单独引用
Modal
是一个函数,调用后会直接在页面中弹出相应的模态框。
import { Modal } from 'mind-ui-vue';
Vue.use(Modal);
# 全局方法
如果你完整引入了 Mind UI Vue
,它会在 Vue.prototype
上添加全局方法 $modal
。
# 示例
# 消息提示
this.$modal
.alert({
title: "标题",
content: "操作成功!",
})
.then(() => {
// on confirm
})
.catch(() => {
// on cancel
});
# 确认提示
this.$modal
.confirm({
title: "标题",
content: "操作成功!",
})
.then(() => {
// on confirm
})
.catch(() => {
// on cancel
});
# 异步关闭
this.$modal({
title: "标题",
content: "异步操作",
confirmTextColor: "red",
confirmButtonText: "删除",
asyncClose: true,
})
.then((instance) => {
setTimeout(() => {
// on confirm
instance.close();
}, 1200);
})
.catch((instance) => {
// on cancel
instance.close();
});
# 组件调用
如果需要在弹窗内嵌入组件或其他自定义内容,可以使用组件调用的方式。
# 自定义内容
自定义弹窗内容
<m-modal :visible.sync="visible" @confirm="handleClose">
<img
class="custom-content"
src="https://note-file.ixook.com/FkwInL0tWpqDeRNtYHMfmaHlioTq"
/>
</m-modal>
# 异步关闭
<m-button @click="visible = true">按钮</m-button>
<m-modal
title="删除确认"
:visible.sync="visible"
asyncClose
confirmColor="#F56C6C"
@confirm="handleClose"
confirmButtonText="删除"
>
异步操作
</m-modal>
export default {
name: "modal",
data() {
return {
visible: false,
};
},
methods: {
handleClose() {
this.visible = false;
}
}
}
# Api
# Methods
方法 | 参数 | 返回值 | 说明 |
---|---|---|---|
Modal | options | promise | — |
Modal.alert | options | promise | 消息提示 |
Modal.confirm | options | promise | 消息确认 |
Modal.close | - | - | 关闭弹窗 |
# Options
参数 | 说明 | 类型 | 默认值 |
---|---|---|---|
title | 标题 | String | — |
content | 文本内容 | String | — |
showConfirmButton | 是否显示确认按钮 | Boolean | true |
showCancelButton | 是否显示取消按钮 | Boolean | true |
confirmButtonText | 确认按钮文字 | String | — |
cancelButtonText | 取消按钮文字 | String | — |
confirmTextColor | 确认按钮文字颜色 | String | #409EFF |
asyncClose | 是否开启异步关闭弹窗,开启后需要手动控制弹窗的关闭 | Boolean | false |
# Props
参数 | 说明 | 类型 | 默认值 |
---|---|---|---|
visible | 是否显示弹窗 | Boolean | — |
title | 标题 | String | — |
content | 文本内容 | String | — |
show-confirm-button | 是否显示确认按钮 | Boolean | true |
show-cancel-button | 是否显示取消按钮 | Boolean | true |
confirm-button-text | 确认按钮文字 | String | — |
cancel-button-text | 取消按钮文字 | String | — |
confirm-text-color | 确认按钮文字颜色 | String | #409EFF |
async-close | 是否开启异步关闭弹窗,开启后需要手动控制弹窗的关闭 | Boolean | false |
loading | js 异步调用时会内部处理,组件形式异步调用时需手动设置 | Boolean | false |
# Events
事件 | 说明 | 回调 |
---|---|---|
confirm | 弹窗确认时触发 | — |
cancel | 弹窗取消时触发 | — |
close | 弹窗关闭时触发 | — |
# Slots
名称 | 说明 |
---|---|
— | 自定义显示内容,如果设置了 content 属性则不生效 |
← Spinner 加载中 Drawer 抽屉 →