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