Fix: 在isMobile=true时无法自定义Drawer的class问题 (#7941)

* fix: 在isMobile=true时无法自定义Drawer的class问题

* fix: 在ResizableHandle两边增加边距
pull/348/MERGE
layhuts 2026-05-22 11:56:09 +08:00 committed by GitHub
parent 6b81d1b0d5
commit c066889c37
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 23 additions and 15 deletions

View File

@ -54,7 +54,6 @@ const components = globalShareState.getComponents();
const id = useId(); const id = useId();
provide('DISMISSABLE_DRAWER_ID', id); provide('DISMISSABLE_DRAWER_ID', id);
// @ts-expect-error unused
const wrapperRef = ref<HTMLElement>(); const wrapperRef = ref<HTMLElement>();
const { $t } = useSimpleLocale(); const { $t } = useSimpleLocale();
const { isMobile } = useIsMobile(); const { isMobile } = useIsMobile();
@ -185,11 +184,16 @@ const getForceMount = computed(() => {
<SheetContent <SheetContent
:append-to="getAppendTo" :append-to="getAppendTo"
:class=" :class="
cn('flex w-130 flex-col', drawerClass, { cn(
'w-full!': isMobile || placement === 'bottom' || placement === 'top', 'flex w-130 flex-col',
{
'w-full!':
isMobile || placement === 'bottom' || placement === 'top',
'max-h-screen': placement === 'bottom' || placement === 'top', 'max-h-screen': placement === 'bottom' || placement === 'top',
hidden: isClosed, hidden: isClosed,
}) },
drawerClass,
)
" "
:modal="modal" :modal="modal"
:open="state?.isOpen" :open="state?.isOpen"

View File

@ -76,6 +76,7 @@ defineExpose({
:min-size="leftMinWidth" :min-size="leftMinWidth"
> >
<template #default="slotProps"> <template #default="slotProps">
<div class="h-full pr-2">
<slot <slot
name="left" name="left"
v-bind="{ v-bind="{
@ -84,6 +85,7 @@ defineExpose({
collapse: collapseLeft, collapse: collapseLeft,
}" }"
></slot> ></slot>
</div>
</template> </template>
</ResizablePanel> </ResizablePanel>
<ResizableHandle <ResizableHandle
@ -99,7 +101,9 @@ defineExpose({
:min-size="rightMinWidth" :min-size="rightMinWidth"
> >
<template #default> <template #default>
<div class="h-full pl-2">
<slot></slot> <slot></slot>
</div>
</template> </template>
</ResizablePanel> </ResizablePanel>
</ResizablePanelGroup> </ResizablePanelGroup>