前端爱码士
2023-10-17 a0e43abeab2930097209a0cf6c21f3de687435ca
fix: 修复Modal.confirm的返回类型问题,需要有destroy,update的方法 (#3161)

* fix: 修复Modal.confirm的返回类型问题,需要有destroy,update的方法

* chore: simplify

---------

Co-authored-by: Li Kui <90845831+likui628@users.noreply.github.com>
1个文件已修改
16 ■■■■ 已修改文件
src/hooks/web/useMessage.tsx 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/hooks/web/useMessage.tsx
@@ -1,4 +1,4 @@
import type { ModalFunc, ModalFuncProps } from 'ant-design-vue/lib/modal/Modal';
import type { ModalFuncProps } from 'ant-design-vue/lib/modal/Modal';
import { Modal, message as Message, notification } from 'ant-design-vue';
import { InfoCircleFilled, CheckCircleFilled, CloseCircleFilled } from '@ant-design/icons-vue';
import { NotificationArgsProps, ConfigProps } from 'ant-design-vue/lib/notification';
@@ -24,14 +24,6 @@
}
export type ModalOptionsPartial = Partial<ModalOptionsEx> & Pick<ModalOptionsEx, 'content'>;
interface ConfirmOptions {
  info: ModalFunc;
  success: ModalFunc;
  error: ModalFunc;
  warn: ModalFunc;
  warning: ModalFunc;
}
function getIcon(iconType: string) {
  if (iconType === 'warning') {
    return <InfoCircleFilled class="modal-icon-warning" />;
@@ -55,7 +47,7 @@
/**
 * @description: Create confirmation box
 */
function createConfirm(options: ModalOptionsEx): ConfirmOptions {
function createConfirm(options: ModalOptionsEx) {
  const iconType = options.iconType || 'warning';
  Reflect.deleteProperty(options, 'iconType');
  const opt: ModalFuncProps = {
@@ -64,7 +56,7 @@
    ...options,
    content: renderContent(options),
  };
  return Modal.confirm(opt) as unknown as ConfirmOptions;
  return Modal.confirm(opt);
}
const getBaseOptions = () => {
@@ -112,7 +104,7 @@
  return {
    createMessage: Message,
    notification: notification as NotifyApi,
    createConfirm: createConfirm,
    createConfirm,
    createSuccessModal,
    createErrorModal,
    createInfoModal,