From c43aa00038022841266421f9ec0766f347842a31 Mon Sep 17 00:00:00 2001 From: lyf <2514544224@qq.com> Date: Wed, 1 Jul 2026 15:57:53 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=A5=BC=E5=B1=82=E5=A4=9A?= =?UTF-8?q?=E5=B1=82=E5=88=87=E6=8D=A2=E7=8A=B6=E6=80=81=E5=90=8C=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/navigation/GuideMapShell.vue | 81 +++++++++++++-------- 1 file changed, 49 insertions(+), 32 deletions(-) diff --git a/src/components/navigation/GuideMapShell.vue b/src/components/navigation/GuideMapShell.vue index 6485df4..d440023 100644 --- a/src/components/navigation/GuideMapShell.vue +++ b/src/components/navigation/GuideMapShell.vue @@ -126,15 +126,11 @@ {{ layerModeActionLabel }} - - 楼层 + {{ layerModeActionLabel }} - - {{ floor.label }} - - + + {{ floor.label }} + + + @@ -506,8 +511,13 @@ const searchFieldStyle = computed(() => ({ })) const floorSwitcherStyle = computed(() => ({ - ...(props.floorBottom ? { bottom: props.floorBottom } : { top: props.floorTop }), - ...(props.floorMaxHeight ? { maxHeight: props.floorMaxHeight } : {}) + ...(props.floorBottom ? { bottom: props.floorBottom } : { top: props.floorTop }) +})) + +const floorListStyle = computed(() => ({ + ...(props.floorMaxHeight + ? { maxHeight: props.showFloorHeader ? `calc(${props.floorMaxHeight} - 50px)` : props.floorMaxHeight } + : {}) })) const layerModeToggleStyle = computed(() => ({ @@ -682,7 +692,7 @@ const handleLayerModeToggle = () => { } const handleFloorHeaderTap = () => { - handleLayerModeChange('multi') + handleLayerModeChange(props.layerMode === 'multi' ? 'single' : 'multi') } const handleToolClick = (tool: string) => { @@ -1064,13 +1074,9 @@ defineExpose({ position: absolute; width: 46px; height: auto; - max-height: calc(100vh - 260px); padding: 1px; box-sizing: border-box; - overflow-y: auto; - overscroll-behavior: contain; - -webkit-overflow-scrolling: touch; - touch-action: pan-y; + overflow: hidden; scrollbar-width: none; background: rgba(255, 255, 255, 0.84); border: 1px solid #dde5df; @@ -1083,6 +1089,19 @@ defineExpose({ display: none; } +.floor-list { + max-height: calc(100vh - 310px); + overflow-y: auto; + overscroll-behavior: contain; + -webkit-overflow-scrolling: touch; + touch-action: pan-y; + scrollbar-width: none; +} + +.floor-list::-webkit-scrollbar { + display: none; +} + .floor-switcher.side-right { right: 16px; } @@ -1092,9 +1111,7 @@ defineExpose({ } .floor-header { - position: sticky; - top: 0; - z-index: 1; + position: relative; min-height: 50px; padding: 7px 4px 6px; display: flex;