@@ -236,20 +236,13 @@ const lists = computed<NavigationMenuItem[][]>(() =>
236236 : []
237237)
238238
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+ }, [])
253246
254247 return props .type === ' single' ? indexes [0 ] : indexes
255248}
@@ -378,7 +371,14 @@ function getAccordionDefaultValue(list: NavigationMenuItem[]) {
378371 </ULink >
379372
380373 <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+ >
382382 <ReuseItemTemplate
383383 v-for =" (childItem, childIndex) in item.children"
384384 :key =" childIndex"
@@ -387,7 +387,7 @@ function getAccordionDefaultValue(list: NavigationMenuItem[]) {
387387 :level =" level + 1"
388388 :class =" ui.childItem({ class: [props.ui?.childItem, childItem.ui?.childItem] })"
389389 />
390- </ul >
390+ </AccordionRoot >
391391 </AccordionContent >
392392 </component >
393393 </DefineItemTemplate >
0 commit comments