From 0d0518be1b613702604ea2f8633ebecec39ae039 Mon Sep 17 00:00:00 2001 From: sallerli1 Date: Thu, 10 Nov 2022 21:52:24 +0800 Subject: [PATCH] fix(comp:modal): update modal content with `update` doesn't work --- packages/components/modal/src/ModalBody.tsx | 2 +- packages/components/modal/src/ModalProvider.tsx | 6 +----- packages/components/modal/src/types.ts | 3 +++ 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/packages/components/modal/src/ModalBody.tsx b/packages/components/modal/src/ModalBody.tsx index 7d8ee7c5e..de72fefac 100644 --- a/packages/components/modal/src/ModalBody.tsx +++ b/packages/components/modal/src/ModalBody.tsx @@ -36,7 +36,7 @@ export default defineComponent({ return () => { const prefixCls = `${mergedPrefixCls.value}-body` - const defaultNode = slots.default?.() + const defaultNode = slots.default?.() ?? props.__content_node if (isDefault.value) { return
{defaultNode}
diff --git a/packages/components/modal/src/ModalProvider.tsx b/packages/components/modal/src/ModalProvider.tsx index 6ac36621f..bc4e092a6 100644 --- a/packages/components/modal/src/ModalProvider.tsx +++ b/packages/components/modal/src/ModalProvider.tsx @@ -35,11 +35,7 @@ export default defineComponent({ const mergedProps = { key, visible, ref: setRef, 'onUpdate:visible': onUpdateVisible, onAfterClose } const contentNode = isVNode(content) ? cloneVNode(content, contentProps, true) : content - return ( - - {contentNode} - - ) + return }) return ( <> diff --git a/packages/components/modal/src/types.ts b/packages/components/modal/src/types.ts index 95277d08d..7508e720a 100644 --- a/packages/components/modal/src/types.ts +++ b/packages/components/modal/src/types.ts @@ -103,6 +103,9 @@ export const modalProps = { onClose: [Function, Array] as PropType void>>, onCancel: [Function, Array] as PropType unknown>>, onOk: [Function, Array] as PropType unknown>>, + + // private + __content_node: [String, Object] as PropType, } as const export type ModalProps = ExtractInnerPropTypes