<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>