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

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

* chore: simplify

---------

Co-authored-by: Li Kui <90845831+likui628@users.noreply.github.com>
This commit is contained in:
前端爱码士 2023-10-17 10:16:02 +08:00 committed by GitHub
parent 18222ab0b6
commit a0e43abeab
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 4 additions and 12 deletions

View File

@ -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 { Modal, message as Message, notification } from 'ant-design-vue';
import { InfoCircleFilled, CheckCircleFilled, CloseCircleFilled } from '@ant-design/icons-vue'; import { InfoCircleFilled, CheckCircleFilled, CloseCircleFilled } from '@ant-design/icons-vue';
import { NotificationArgsProps, ConfigProps } from 'ant-design-vue/lib/notification'; import { NotificationArgsProps, ConfigProps } from 'ant-design-vue/lib/notification';
@ -24,14 +24,6 @@ export interface ModalOptionsEx extends Omit<ModalFuncProps, 'iconType'> {
} }
export type ModalOptionsPartial = Partial<ModalOptionsEx> & Pick<ModalOptionsEx, 'content'>; export type ModalOptionsPartial = Partial<ModalOptionsEx> & Pick<ModalOptionsEx, 'content'>;
interface ConfirmOptions {
info: ModalFunc;
success: ModalFunc;
error: ModalFunc;
warn: ModalFunc;
warning: ModalFunc;
}
function getIcon(iconType: string) { function getIcon(iconType: string) {
if (iconType === 'warning') { if (iconType === 'warning') {
return <InfoCircleFilled class="modal-icon-warning" />; return <InfoCircleFilled class="modal-icon-warning" />;
@ -55,7 +47,7 @@ function renderContent({ content }: Pick<ModalOptionsEx, 'content'>) {
/** /**
* @description: Create confirmation box * @description: Create confirmation box
*/ */
function createConfirm(options: ModalOptionsEx): ConfirmOptions { function createConfirm(options: ModalOptionsEx) {
const iconType = options.iconType || 'warning'; const iconType = options.iconType || 'warning';
Reflect.deleteProperty(options, 'iconType'); Reflect.deleteProperty(options, 'iconType');
const opt: ModalFuncProps = { const opt: ModalFuncProps = {
@ -64,7 +56,7 @@ function createConfirm(options: ModalOptionsEx): ConfirmOptions {
...options, ...options,
content: renderContent(options), content: renderContent(options),
}; };
return Modal.confirm(opt) as unknown as ConfirmOptions; return Modal.confirm(opt);
} }
const getBaseOptions = () => { const getBaseOptions = () => {
@ -112,7 +104,7 @@ export function useMessage() {
return { return {
createMessage: Message, createMessage: Message,
notification: notification as NotifyApi, notification: notification as NotifyApi,
createConfirm: createConfirm, createConfirm,
createSuccessModal, createSuccessModal,
createErrorModal, createErrorModal,
createInfoModal, createInfoModal,