Browse Source

fix: 嵌套弹窗,错误 merge options (#7126)

pull/7123/head
yuhengshen 2 weeks ago
committed by GitHub
parent
commit
74381aa8c1
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 9
      packages/@core/ui-kit/popup-ui/src/modal/use-modal.ts

9
packages/@core/ui-kit/popup-ui/src/modal/use-modal.ts

@ -41,6 +41,7 @@ export function useVbenModal<TParentModalProps extends ModalProps = ModalProps>(
// 不能用 Object.assign,会丢失 api 的原型函数
Object.setPrototypeOf(extendedApi, api);
},
consumed: false,
options,
async reCreateModal() {
isModalReady.value = false;
@ -73,7 +74,13 @@ export function useVbenModal<TParentModalProps extends ModalProps = ModalProps>(
return [Modal, extendedApi as ExtendedModalApi] as const;
}
const injectData = inject<any>(USER_MODAL_INJECT_KEY, {});
let injectData = inject<any>(USER_MODAL_INJECT_KEY, {});
// 这个数据已经被使用了,说明这个弹窗是嵌套的弹窗,不应该merge上层的配置
if (injectData.consumed) {
injectData = {};
} else {
injectData.consumed = true;
}
const mergedOptions = {
...DEFAULT_MODAL_PROPS,

Loading…
Cancel
Save