fix: when keepAlive is enabled, returning directly through browser buttons/gestures will not close pop ups (#6113)

This commit is contained in:
LinaBell
2025-05-06 14:02:23 +08:00
committed by GitHub
parent 3b3f8e4e44
commit 8f4d3d418d
2 changed files with 18 additions and 0 deletions

View File

@@ -9,6 +9,7 @@ import {
h, h,
inject, inject,
nextTick, nextTick,
onDeactivated,
provide, provide,
reactive, reactive,
ref, ref,
@@ -70,6 +71,14 @@ export function useVbenDrawer<
inheritAttrs: false, inheritAttrs: false,
}, },
); );
/**
* 在开启keepAlive情况下 直接通过浏览器按钮/手势等返回 不会关闭弹窗
*/
onDeactivated(() => {
(extendedApi as ExtendedDrawerApi)?.close?.();
});
return [Drawer, extendedApi as ExtendedDrawerApi] as const; return [Drawer, extendedApi as ExtendedDrawerApi] as const;
} }

View File

@@ -5,6 +5,7 @@ import {
h, h,
inject, inject,
nextTick, nextTick,
onDeactivated,
provide, provide,
reactive, reactive,
ref, ref,
@@ -69,6 +70,14 @@ export function useVbenModal<TParentModalProps extends ModalProps = ModalProps>(
inheritAttrs: false, inheritAttrs: false,
}, },
); );
/**
* 在开启keepAlive情况下 直接通过浏览器按钮/手势等返回 不会关闭弹窗
*/
onDeactivated(() => {
(extendedApi as ExtendedModalApi)?.close?.();
});
return [Modal, extendedApi as ExtendedModalApi] as const; return [Modal, extendedApi as ExtendedModalApi] as const;
} }