From 8f4d3d418d993832320072776c2ce9c585d104af Mon Sep 17 00:00:00 2001 From: LinaBell <15891557205@163.com> Date: Tue, 6 May 2025 14:02:23 +0800 Subject: [PATCH] fix: when keepAlive is enabled, returning directly through browser buttons/gestures will not close pop ups (#6113) --- packages/@core/ui-kit/popup-ui/src/drawer/use-drawer.ts | 9 +++++++++ packages/@core/ui-kit/popup-ui/src/modal/use-modal.ts | 9 +++++++++ 2 files changed, 18 insertions(+) diff --git a/packages/@core/ui-kit/popup-ui/src/drawer/use-drawer.ts b/packages/@core/ui-kit/popup-ui/src/drawer/use-drawer.ts index ee99ca72..35294758 100644 --- a/packages/@core/ui-kit/popup-ui/src/drawer/use-drawer.ts +++ b/packages/@core/ui-kit/popup-ui/src/drawer/use-drawer.ts @@ -9,6 +9,7 @@ import { h, inject, nextTick, + onDeactivated, provide, reactive, ref, @@ -70,6 +71,14 @@ export function useVbenDrawer< inheritAttrs: false, }, ); + + /** + * 在开启keepAlive情况下 直接通过浏览器按钮/手势等返回 不会关闭弹窗 + */ + onDeactivated(() => { + (extendedApi as ExtendedDrawerApi)?.close?.(); + }); + return [Drawer, extendedApi as ExtendedDrawerApi] as const; } 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 8726b556..048243da 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 @@ -5,6 +5,7 @@ import { h, inject, nextTick, + onDeactivated, provide, reactive, ref, @@ -69,6 +70,14 @@ export function useVbenModal( inheritAttrs: false, }, ); + + /** + * 在开启keepAlive情况下 直接通过浏览器按钮/手势等返回 不会关闭弹窗 + */ + onDeactivated(() => { + (extendedApi as ExtendedModalApi)?.close?.(); + }); + return [Modal, extendedApi as ExtendedModalApi] as const; }