一、问题
在使用 Ant Design Vue 的 Modal.confirm 确认框时,出现了点击取消和确定后 Modal.confirm 确认框无法关闭的问题
二、代码
代码完全是 copy 的官网的代码,但是 copy 到本地后就会出现上述问题
<template> <a-button @click="showConfirm">Confirm</a-button> </template> <script lang="ts"> import { ExclamationCircleOutlined } from '@ant-design/icons-vue'; import { createVNode, defineComponent } from 'vue'; import { Modal } from 'ant-design-vue'; export default defineComponent({ setup() { const showConfirm = () => { Modal.confirm({ title: 'Do you Want to delete these items?', icon: createVNode(ExclamationCircleOutlined), content: createVNode('div', { style: 'color:red;' }, 'Some descriptions'), onOk() { console.log('OK'); }, onCancel() { console.log('Cancel'); }, class: 'test', }); }; return { showConfirm, }; }, }); </script>
复制
三、解决方案
出现该问题的原因是因为:vue更新到 3.4.x 版本之后,某些 API 和 Ant Design Vue 不兼容
本人之前使用的版本是:
- vue 3.4.7
- ant-design-vue 3.2.20
解决方案:将vue版本修改并锁定为 3.2.20