|
|
|
@ -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, |
|
|
|
|