# Modal 模态框

# 使用指南

模态框组件,可用于实现自定义的蒙层弹窗,也可以用于alert, confirm, prompt等快速交互;

TIP

此组件属于Popup家族组件,查看这篇blogPopup家族, 了解更多

# 代码演示

查看代码

# 与h3-mobile-vue组件的区别以及迁移

旧版弹窗同时集成了侧滑弹窗,以及login、prompt等多种业务场景;而新的Modal弹窗组件,专注于 实现纯粹的强交互的弹窗 ;内部的代码实现也完全重写;总的来说,已经是完全不同的两个组件,如果要做迁移,请参考:

  1. 已废弃的props:type、popupDirection、propmtType、popupScale、placeHolders、defaultValue、maskTop、maskStyle、shouldPreventScroll、appendToBody;
  2. props中的type,之前的type="popup", 如果想实现侧滑弹窗,请使用新的 h3-popup 组件;
  3. props中的show更名为visible;
  4. 旧版需要设置appendToBody才会在body下创建元素,现在默认就是创建在document.body下,可以通过getRenderContainer来更改父节点;
  5. 现在新版Modal, 作为插件可以直接调用到 this.$modal

# API

# 常规使用

<h3-modal v-model="visible" title="自定义actions弹窗" :actions="customActions">
  自定义Actions,自定义按钮功能
</h3-modal>

# Prop

属性 说明 类型 默认值
visible 是否显示,v-model绑定值 boolean false
maskClosable 点击蒙层是否可触发关闭 boolean false
maskCls mask蒙层自定义class string
mask 是否显示透明蒙层,防止触摸穿透 boolean true
round 是否圆角 boolean true
wrapCls wrap弹窗内容区域的自定义class string
getRenderContainer 把组件挂载某个地方,函数请返回节点,字符串默认通过document.querySelector查找 Function=> Node / String document.body
title 弹窗标题 string|slot -
content 弹窗内容 string|slot|VNode -
actions 自定义底部按钮功能 Array -
confirmText 确认按钮显示文本 string '确定'
cancelText 取消按钮显示文本 string '取消'
showCancel 是否显示取消按钮 boolean true
  • actions 子配置项
属性 说明 类型
text 按钮名称 string
btnProps 按钮Props { type: 'primary',ghost: true } object
onAction 点击按钮后触发 function

# Slot

属性 说明 参数
header 弹窗头部插槽 -
default 默认插槽,弹窗内容 -
footer 弹窗底部插槽 -

# Event

事件名 说明 参数
toggle 切换显示时触发,v-model绑定事件 value
show 显示时回调 -
hide 关闭时回调 -
confirm 当点击确认按钮时的回调 -
cancel 当点击取消按钮及蒙层回调 -

# 函数式调用

# 引用


import Vue from 'vue';
import { H3Modal } from '@h3/thinking-ui';
Vue.use(H3Modal);

// 显示
this.$modal.show(options:{});
this.$modal.alert(options:{});
this.$modal.confirm(options:{});

// 隐藏
this.$modal.hide();

# 方法

方法名 说明 参数
show 显示modal value: 传入 prop 对象
hide 隐藏modal -
visible 是否显示 -
alert 内置的alert弹窗 value: 传入 prop 对象
confirm 内置的confirm弹窗 value: 传入 prop 对象