From f4a4ced88d4aa11ef6dd1bb4d6b3dbb37e052373 Mon Sep 17 00:00:00 2001 From: ppxb <317842449@qq.com> Date: Mon, 12 Jan 2026 21:40:26 +0800 Subject: [PATCH] fix: header auto mode issue (#7096) --- .../@core/ui-kit/layout-ui/src/vben-layout.vue | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/packages/@core/ui-kit/layout-ui/src/vben-layout.vue b/packages/@core/ui-kit/layout-ui/src/vben-layout.vue index bf7d7753f..a35ed349c 100644 --- a/packages/@core/ui-kit/layout-ui/src/vben-layout.vue +++ b/packages/@core/ui-kit/layout-ui/src/vben-layout.vue @@ -403,13 +403,10 @@ watch( ); { - const mouseMove = () => { - mouseY.value > headerWrapperHeight.value - ? (headerIsHidden.value = true) - : (headerIsHidden.value = false); - }; + const HEADER_TRIGGER_DISTANCE = 12; + watch( - [() => props.headerMode, () => mouseY.value], + [() => props.headerMode, () => mouseY.value, () => headerIsHidden.value], () => { if (!isHeaderAutoMode.value || isMixedNav.value || isFullContent.value) { if (props.headerMode !== 'auto-scroll') { @@ -417,8 +414,12 @@ watch( } return; } - headerIsHidden.value = true; - mouseMove(); + + const isInTriggerZone = mouseY.value <= HEADER_TRIGGER_DISTANCE; + const isInHeaderZone = + !headerIsHidden.value && mouseY.value <= headerWrapperHeight.value; + + headerIsHidden.value = !(isInTriggerZone || isInHeaderZone); }, { immediate: true,