diff --git a/framework/core/js/src/common/helpers/listItems.tsx b/framework/core/js/src/common/helpers/listItems.tsx index e4b39d225..e6fb10478 100644 --- a/framework/core/js/src/common/helpers/listItems.tsx +++ b/framework/core/js/src/common/helpers/listItems.tsx @@ -65,15 +65,7 @@ export default function listItems( return withoutUnnecessarySeparators(items).map((item) => { const classes = [item.itemName && `item-${item.itemName}`]; - if (!isVnode(item)) { - return ( - - {item} - - ); - } - - if (item.tag.isListItem) { + if (isVnode(item) && item.tag.isListItem) { item.attrs = item.attrs || {}; item.attrs.key = item.attrs.key || item.itemName; item.key = item.attrs.key; @@ -81,14 +73,18 @@ export default function listItems( return item; } - classes.push(item.attrs?.itemClassName || item.itemClassName); - - if (item.tag.isActive?.(item.attrs)) { - classes.push('active'); + if (isVnode(item)) { + classes.push(item.attrs?.itemClassName || item.itemClassName); + + if (item.tag.isActive?.(item.attrs)) { + classes.push('active'); + } } + const key = isVnode(item) && item?.attrs?.key || item.itemName; + return ( - + {item} );