Dialog 模态窗
交互式模态窗口
引入
import { Dialog } from 'mand-mobile'
Vue.component(Dialog.name, Dialog)
代码演示
基本
<template>
<div class="md-example-child md-example-child-dialog md-example-child-dialog-0">
<md-button @click="basicDialog.open = true">基本</md-button>
<md-button @click="iconDialog.open = true">带图标</md-button>
<md-button @click="actDialog.open = true">多操作</md-button>
<md-dialog
title="窗口标题"
:closable="true"
v-model="basicDialog.open"
:btns="basicDialog.btns"
>
人生的刺,就在这里,留恋着不肯快走的,偏是你所不留恋的东西。
</md-dialog>
<md-dialog
icon="circle-right"
title="窗口标题"
:closable="true"
v-model="iconDialog.open"
:btns="iconDialog.btns"
>
围在城里的人想逃出来,城外的人想冲进去,对婚姻也罢,职业也罢,人生的愿望大都如此。
</md-dialog>
<md-dialog
title="窗口标题"
:closable="false"
v-model="actDialog.open"
:btns="actDialog.btns"
>
据说每个人需要一面镜子,可以常常自照,知道自己是个什么东西。不过,能自知的人根本不用照镜子;不自知的东西,照了镜子也没有用。
</md-dialog>
</div>
</template>
<script>
import {Dialog, Button, Toast} from 'mand-mobile'
export default {
name: 'dialog-demo',
components: {
[Dialog.name]: Dialog,
[Button.name]: Button,
},
data() {
return {
basicDialog: {
open: false,
btns: [
{
text: '确认操作',
handler: this.onBasicConfirm,
},
],
},
iconDialog: {
open: false,
btns: [
{
text: '确认操作',
handler: this.onIconConfirm,
},
],
},
actDialog: {
open: false,
btns: [
{
text: '取消',
handler: this.onActCancel,
},
{
text: '确认操作',
handler: this.onActConfirm,
},
],
},
}
},
methods: {
onBasicConfirm() {
Toast({
content: '你点击了确认',
})
this.basicDialog.open = false
},
onIconConfirm() {
Toast({
content: '你点击了确认',
})
this.iconDialog.open = false
},
onActCancel() {
Toast({
content: '你点击了取消',
})
this.actDialog.open = false
},
onActConfirm() {
Toast({
content: '你点击了确认',
})
this.actDialog.open = false
},
},
}
</script>
单例模式
<template>
<div class="md-example-child md-example-child-dialog md-example-child-dialog-1">
<md-button @click="alert">警告弹窗</md-button>
<md-button @click="confirm">确认弹窗</md-button>
<md-button @click="succeedConfirm">成功弹窗</md-button>
<md-button @click="failedConfirm">失败弹窗</md-button>
</div>
</template>
<script>
import {Dialog, Button} from 'mand-mobile'
export default {
name: 'dialog-demo',
components: {
[Dialog.name]: Dialog,
[Button.name]: Button,
},
methods: {
alert() {
Dialog.alert({
title: '警告',
content: '您正在进行非法操作',
cancelText: '取消',
confirmText: '确定',
onConfirm: () => console.log('[Dialog.alert] confirm clicked'),
})
},
confirm() {
Dialog.confirm({
title: '确认',
content: '请确认是否进行操作',
confirmText: '确定',
onConfirm: () => console.log('[Dialog.confirm] confirm clicked'),
})
},
succeedConfirm() {
Dialog.succeed({
title: '成功',
content: '恭喜您成功完成操作',
confirmText: '确定',
onConfirm: () => console.log('[Dialog.succeed] confirm clicked'),
})
},
failedConfirm() {
Dialog.failed({
title: '失败',
content: '操作失败,请稍后重试',
confirmText: '确定',
onConfirm: () => console.log('[Dialog.failed] confirm clicked'),
})
},
},
}
</script>
API
Dialog Props
属性 | 说明 | 类型 | 默认值 | 备注 |
---|---|---|---|---|
v-model | 双向绑定是否显示窗口 | Boolean | false | - |
title | 窗口标题 | String | - | - |
icon | Icon组件图标名称 | String | - | 如需自定义图标, 请查看Icon 组件 |
closable | 是否显示关闭按钮 | Boolean | true | - |
btns | 底部操作按钮组 | Array | [] | - |
append-to | 组件的挂载节点 | HTMLElement | document.body | - |
has-mask | 是否有蒙层 | Boolean | true | - |
mask-closable | 点击蒙层是否可关闭弹出层 | Boolean | false | - |
position | 弹出层位置, center/top/bottom/left/right | String | center | - |
transition | 弹出层过度动画, fade, slide-up/down/left/right | String | fade | - |
prevent-scroll | 是否禁止滚动穿透 | Boolean | false | - |
prevent-scroll-exclude | 禁止滚动排除元素 | String | - | - |
Dialog Slots
组件子元素会被当做默认插槽内容使用,适合于不需要标题的自定义窗口内容的场景。
Dialog Instance Methods
close()
隐藏弹窗
Dialog Instance Events
@show()
模态窗口显示后触发的事件
@hide()
模态窗口隐藏后触发的事件
Dialog Static Methods
confirm(props)
静态方法创建确认模态窗口, 返回Dialog实例
属性 | 说明 | 类型 | 默认值 |
---|---|---|---|
icon | 图标 | String | - |
title | 窗口标题 | String | - |
content | 正文内容 | String | - |
cancelText | 底部取消按钮文字 | String | 取消 |
confirmText | 底部确认按钮文字 | String | 确认 |
onConfirm | 点击确认按钮回调函数 | Function | - |
Dialog.alert(props)
静态方法创建警告模态窗口, 返回Dialog实例
属性 | 说明 | 类型 | 默认值 |
---|---|---|---|
icon | 图标 | String | - |
title | 窗口标题 | String | - |
content | 正文内容 | String | - |
confirmText | 底部确认按钮文字 | String | 确认 |
onConfirm | 点击确认按钮回调函数 | Function | - |
Dialog.succeed(props)
静态方法创建成功确认模态窗口, 返回Dialog实例
属性 | 说明 | 类型 | 默认值 |
---|---|---|---|
title | 窗口标题 | String | - |
content | 正文内容 | String | - |
confirmText | 底部确认按钮文字 | String | 确认 |
onConfirm | 点击确认按钮回调函数 | Function | - |
Dialog.failed(props)
静态方法创建失败确认模态窗口, 返回Dialog实例
属性 | 说明 | 类型 | 默认值 |
---|---|---|---|
title | 窗口标题 | String | - |
content | 正文内容 | String | - |
confirmText | 底部确认按钮文字 | String | 确认 |
onConfirm | 点击确认按钮回调函数 | Function | - |
Dialog.closeAll()
静态方法关闭所有动态创建的全局Dialog 1.4.0+