diff --git a/src/ui/components/FaDrawer/sheet/SheetContent.vue b/src/ui/components/FaDrawer/sheet/SheetContent.vue index 47e98c6b..1c81e4d0 100644 --- a/src/ui/components/FaDrawer/sheet/SheetContent.vue +++ b/src/ui/components/FaDrawer/sheet/SheetContent.vue @@ -3,11 +3,11 @@ import type { DialogContentEmits, DialogContentProps } from 'radix-vue' import type { HTMLAttributes } from 'vue' import type { SheetVariants } from '.' import { cn } from '@/utils' +import { useScrollLock } from '@vueuse/core' import { X } from 'lucide-vue-next' import { DialogClose, DialogContent, - DialogPortal, useForwardPropsEmits, } from 'radix-vue' @@ -41,6 +41,17 @@ const delegatedProps = computed(() => { const forwarded = useForwardPropsEmits(delegatedProps, emits) +const showOverlay = computed(() => props.open && props.overlay) +const isLocked = useScrollLock(document.body) +watch(showOverlay, (val) => { + if (val) { + isLocked.value = true + } + else { + isLocked.value = false + } +}) + const id = inject('DrawerId') @@ -58,7 +69,7 @@ const id = inject('DrawerId') :appear="true" >