mirror of
https://github.com/keven1024/015.git
synced 2026-05-26 07:08:02 +00:00
fix: update GlobalDrawer component to use direct drawer reference for improved state management
This commit is contained in:
@@ -1,8 +1,5 @@
|
||||
<script setup lang="ts">
|
||||
import {
|
||||
Drawer,
|
||||
DrawerContent,
|
||||
} from '@/components/ui/drawer'
|
||||
import { Drawer, DrawerContent } from '@/components/ui/drawer'
|
||||
import { createVNode } from 'vue'
|
||||
import useStore from '@/composables/useStore'
|
||||
|
||||
@@ -12,22 +9,26 @@ const currentDrawer = computed(() => drawer?.value?.[drawer?.value?.length - 1])
|
||||
|
||||
const render = computed(() => currentDrawer?.value?.render)
|
||||
const Children = () =>
|
||||
createVNode(render.value, {
|
||||
hide: () => store?._set('drawer', drawer?.value?.slice(0, -1)),
|
||||
})
|
||||
|
||||
createVNode(render.value, {
|
||||
hide: () => store?._set('drawer', drawer?.value?.slice(0, -1)),
|
||||
})
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<Drawer :open="!!store?._get('drawer')?.[store?._get('drawer')?.length - 1]" @update:open="(open) => {
|
||||
if (!open && drawer?.length > 0) {
|
||||
store?._set('drawer', drawer?.slice(0, -1))
|
||||
}
|
||||
}">
|
||||
<DrawerContent>
|
||||
<div class="mx-auto w-full max-w-sm pb-10">
|
||||
<Children />
|
||||
</div>
|
||||
</DrawerContent>
|
||||
</Drawer>
|
||||
</template>
|
||||
<Drawer
|
||||
:open="!!drawer?.[drawer?.length - 1]"
|
||||
@update:open="
|
||||
(open) => {
|
||||
if (!open && drawer?.length > 0) {
|
||||
store?._set('drawer', drawer?.slice(0, -1))
|
||||
}
|
||||
}
|
||||
"
|
||||
>
|
||||
<DrawerContent>
|
||||
<div class="mx-auto w-full max-w-sm pb-10">
|
||||
<Children />
|
||||
</div>
|
||||
</DrawerContent>
|
||||
</Drawer>
|
||||
</template>
|
||||
|
||||
Reference in New Issue
Block a user