mirror of
https://github.com/ArthurDanjou/ui.git
synced 2026-01-22 07:50:36 +01:00
feat(Accordion): add unmount prop to allow lazy mounting for heavy components (#1590)
This commit is contained in:
@@ -39,13 +39,27 @@
|
||||
@before-leave="onBeforeLeave"
|
||||
@leave="onLeave"
|
||||
>
|
||||
<div v-show="open">
|
||||
<HDisclosurePanel :class="[ui.item.base, ui.item.size, ui.item.color, ui.item.padding]" static>
|
||||
<slot :name="item.slot || 'item'" :item="item" :index="index" :open="open" :close="close">
|
||||
{{ item.content }}
|
||||
</slot>
|
||||
</HDisclosurePanel>
|
||||
</div>
|
||||
<HDisclosurePanel
|
||||
v-if="unmount"
|
||||
:class="[ui.item.base, ui.item.size, ui.item.color, ui.item.padding]"
|
||||
unmount
|
||||
>
|
||||
<slot :name="item.slot || 'item'" :item="item" :index="index" :open="open" :close="close">
|
||||
{{ item.content }}
|
||||
</slot>
|
||||
</HDisclosurePanel>
|
||||
<template v-else>
|
||||
<div v-show="open">
|
||||
<HDisclosurePanel
|
||||
:class="[ui.item.base, ui.item.size, ui.item.color, ui.item.padding]"
|
||||
static
|
||||
>
|
||||
<slot :name="item.slot || 'item'" :item="item" :index="index" :open="open" :close="close">
|
||||
{{ item.content }}
|
||||
</slot>
|
||||
</HDisclosurePanel>
|
||||
</div>
|
||||
</template>
|
||||
</Transition>
|
||||
</HDisclosure>
|
||||
</div>
|
||||
@@ -91,6 +105,10 @@ export default defineComponent({
|
||||
type: String,
|
||||
default: () => config.default.openIcon
|
||||
},
|
||||
unmount: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
closeIcon: {
|
||||
type: String,
|
||||
default: () => config.default.closeIcon
|
||||
|
||||
Reference in New Issue
Block a user