diff --git a/packages/@core/ui-kit/popup-ui/src/modal/use-modal.ts b/packages/@core/ui-kit/popup-ui/src/modal/use-modal.ts index 0af484767..5385b2157 100644 --- a/packages/@core/ui-kit/popup-ui/src/modal/use-modal.ts +++ b/packages/@core/ui-kit/popup-ui/src/modal/use-modal.ts @@ -41,6 +41,7 @@ export function useVbenModal( // 不能用 Object.assign,会丢失 api 的原型函数 Object.setPrototypeOf(extendedApi, api); }, + consumed: false, options, async reCreateModal() { isModalReady.value = false; @@ -73,7 +74,13 @@ export function useVbenModal( return [Modal, extendedApi as ExtendedModalApi] as const; } - const injectData = inject(USER_MODAL_INJECT_KEY, {}); + let injectData = inject(USER_MODAL_INJECT_KEY, {}); + // 这个数据已经被使用了,说明这个弹窗是嵌套的弹窗,不应该merge上层的配置 + if (injectData.consumed) { + injectData = {}; + } else { + injectData.consumed = true; + } const mergedOptions = { ...DEFAULT_MODAL_PROPS,