@@ -236,20 +236,13 @@ const lists = computed<NavigationMenuItem[][]>(() =>
236
236
: []
237
237
)
238
238
239
- function getAccordionDefaultValue(list : NavigationMenuItem []) {
240
- function findItemsWithDefaultOpen(items : NavigationMenuItem [], level = 0 ): string [] {
241
- return items .reduce ((acc : string [], item , index ) => {
242
- if (item .defaultOpen || item .open ) {
243
- acc .push (item .value || (level > 0 ? ` item-${level }-${index } ` : ` item-${index } ` ))
244
- }
245
- if (item .children ?.length ) {
246
- acc .push (... findItemsWithDefaultOpen (item .children , level + 1 ))
247
- }
248
- return acc
249
- }, [])
250
- }
251
-
252
- const indexes = findItemsWithDefaultOpen (list )
239
+ function getAccordionDefaultValue(list : NavigationMenuItem [], level = 0 ) {
240
+ const indexes = list .reduce ((acc : string [], item , index ) => {
241
+ if (item .defaultOpen || item .open ) {
242
+ acc .push (item .value || (level > 0 ? ` item-${level }-${index } ` : ` item-${index } ` ))
243
+ }
244
+ return acc
245
+ }, [])
253
246
254
247
return props .type === ' single' ? indexes [0 ] : indexes
255
248
}
@@ -378,7 +371,14 @@ function getAccordionDefaultValue(list: NavigationMenuItem[]) {
378
371
</ULink >
379
372
380
373
<AccordionContent v-if =" orientation === 'vertical' && item.children?.length && !collapsed" :class =" ui.content({ class: [props.ui?.content, item.ui?.content] })" >
381
- <ul :class =" ui.childList({ class: props.ui?.childList })" >
374
+ <AccordionRoot
375
+ v-bind =" ({
376
+ ...accordionProps,
377
+ defaultValue: getAccordionDefaultValue(item.children, level + 1)
378
+ } as AccordionRootProps)"
379
+ as =" ul"
380
+ :class =" ui.childList({ class: props.ui?.childList })"
381
+ >
382
382
<ReuseItemTemplate
383
383
v-for =" (childItem, childIndex) in item.children"
384
384
:key =" childIndex"
@@ -387,7 +387,7 @@ function getAccordionDefaultValue(list: NavigationMenuItem[]) {
387
387
:level =" level + 1"
388
388
:class =" ui.childItem({ class: [props.ui?.childItem, childItem.ui?.childItem] })"
389
389
/>
390
- </ul >
390
+ </AccordionRoot >
391
391
</AccordionContent >
392
392
</component >
393
393
</DefineItemTemplate >
0 commit comments