82 lines
2.7 KiB
Vue
82 lines
2.7 KiB
Vue
<template>
|
|
<div>
|
|
{{ val }}
|
|
<Button @click="confirm">标准</Button>
|
|
<Button @click="custom">自定义按钮文字</Button>
|
|
<Button @click="async">异步关闭</Button>
|
|
<Button type="primary" @click="modal1 = true">显示对话框</Button>
|
|
<Modal
|
|
v-model="modal1"
|
|
title="普通的Modal对话框标题"
|
|
@on-ok="ok"
|
|
@on-cancel="cancel">
|
|
<p>对话框内容</p>
|
|
<p>对话框内容</p>
|
|
<p>对话框内容</p>
|
|
</Modal>
|
|
</div>
|
|
</template>
|
|
<script>
|
|
export default {
|
|
data () {
|
|
return {
|
|
modal1: false,
|
|
val: ''
|
|
}
|
|
},
|
|
methods: {
|
|
ok () {
|
|
this.$Message.info('点击了确定');
|
|
},
|
|
cancel () {
|
|
this.$Message.info('点击了取消');
|
|
},
|
|
confirm () {
|
|
this.$Modal.confirm({
|
|
title: '确认对话框标题',
|
|
content: '<p>一些对话框内容</p><p>一些对话框内容</p>',
|
|
render: (h) => {
|
|
return h('Input', {
|
|
props: {
|
|
value: this.val,
|
|
autofocus: true
|
|
},
|
|
on: {
|
|
input: (val) => {
|
|
this.val = val;
|
|
}
|
|
}
|
|
}, '一个按钮')
|
|
},
|
|
onOk: () => {
|
|
this.$Message.info('点击了确定');
|
|
},
|
|
onCancel: () => {
|
|
this.$Message.info('点击了取消');
|
|
}
|
|
});
|
|
},
|
|
custom () {
|
|
this.$Modal.confirm({
|
|
title: '确认对话框标题',
|
|
content: '<p>一些对话框内容</p><p>一些对话框内容</p>',
|
|
okText: 'OK',
|
|
cancelText: 'Cancel'
|
|
});
|
|
},
|
|
async () {
|
|
this.$Modal.confirm({
|
|
title: '确认对话框标题',
|
|
content: '<p>对话框将在 2秒 后关闭</p>',
|
|
loading: true,
|
|
onOk: () => {
|
|
setTimeout(() => {
|
|
this.$Modal.remove();
|
|
this.$Message.info('异步关闭了对话框');
|
|
}, 2000);
|
|
}
|
|
});
|
|
}
|
|
}
|
|
}
|
|
</script>
|