fix: sidebar scrolling does not meet expectations (#4241)
							parent
							
								
									54a622ad05
								
							
						
					
					
						commit
						87cc8a154c
					
				|  | @ -28,7 +28,7 @@ function useContentStyle() { | ||||||
|       position: 'fixed', |       position: 'fixed', | ||||||
|       top: `${top}px`, |       top: `${top}px`, | ||||||
|       width: `${width}px`, |       width: `${width}px`, | ||||||
|       zIndex: 1000, |       zIndex: 150, | ||||||
|     }; |     }; | ||||||
|   }); |   }); | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -4,6 +4,8 @@ import { computed, shallowRef, useSlots, watchEffect } from 'vue'; | ||||||
| 
 | 
 | ||||||
| import { VbenScrollbar } from '@vben-core/shadcn-ui'; | import { VbenScrollbar } from '@vben-core/shadcn-ui'; | ||||||
| 
 | 
 | ||||||
|  | import { useScrollLock } from '@vueuse/core'; | ||||||
|  | 
 | ||||||
| import { SidebarCollapseButton, SidebarFixedButton } from './widgets'; | import { SidebarCollapseButton, SidebarFixedButton } from './widgets'; | ||||||
| 
 | 
 | ||||||
| interface Props { | interface Props { | ||||||
|  | @ -102,6 +104,7 @@ const expandOnHovering = defineModel<boolean>('expandOnHovering'); | ||||||
| const expandOnHover = defineModel<boolean>('expandOnHover'); | const expandOnHover = defineModel<boolean>('expandOnHover'); | ||||||
| const extraVisible = defineModel<boolean>('extraVisible'); | const extraVisible = defineModel<boolean>('extraVisible'); | ||||||
| 
 | 
 | ||||||
|  | const isLocked = useScrollLock(document.body); | ||||||
| const slots = useSlots(); | const slots = useSlots(); | ||||||
| 
 | 
 | ||||||
| const asideRef = shallowRef<HTMLDivElement | null>(); | const asideRef = shallowRef<HTMLDivElement | null>(); | ||||||
|  | @ -214,6 +217,7 @@ function handleMouseenter() { | ||||||
|   if (!expandOnHovering.value) { |   if (!expandOnHovering.value) { | ||||||
|     collapse.value = false; |     collapse.value = false; | ||||||
|   } |   } | ||||||
|  |   isLocked.value = true; | ||||||
|   expandOnHovering.value = true; |   expandOnHovering.value = true; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | @ -224,6 +228,7 @@ function handleMouseleave() { | ||||||
|     return; |     return; | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|  |   isLocked.value = false; | ||||||
|   expandOnHovering.value = false; |   expandOnHovering.value = false; | ||||||
|   collapse.value = true; |   collapse.value = true; | ||||||
|   extraVisible.value = false; |   extraVisible.value = false; | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	 Vben
						Vben