提交 b46da5b8 authored 作者: leon's avatar leon

fix 子菜单只有一个隐藏类型的时候,父菜单被渲染成多级菜单的问题

上级 767cc71d
...@@ -97,7 +97,6 @@ ...@@ -97,7 +97,6 @@
opt.getContainer = `.${prefixVar}-layout-content` as any; opt.getContainer = `.${prefixVar}-layout-content` as any;
} }
} }
console.log('opt', opt);
return opt as DrawerProps; return opt as DrawerProps;
}); });
......
...@@ -8,12 +8,7 @@ ...@@ -8,12 +8,7 @@
@select="handleSelect" @select="handleSelect"
> >
<template v-for="item in items" :key="item.path"> <template v-for="item in items" :key="item.path">
<SimpleSubMenu <SimpleSubMenu :item="item" :parent="true" :collapsedShowTitle="collapsedShowTitle" :collapse="collapse" />
:item="item"
:parent="true"
:collapsedShowTitle="collapsedShowTitle"
:collapse="collapse"
/>
</template> </template>
</Menu> </Menu>
</template> </template>
...@@ -70,13 +65,7 @@ ...@@ -70,13 +65,7 @@
const { prefixCls } = useDesign('simple-menu'); const { prefixCls } = useDesign('simple-menu');
const { items, accordion, mixSider, collapse } = toRefs(props); const { items, accordion, mixSider, collapse } = toRefs(props);
const { setOpenKeys, getOpenKeys } = useOpenKeys( const { setOpenKeys, getOpenKeys } = useOpenKeys(menuState, items, accordion, mixSider, collapse);
menuState,
items,
accordion,
mixSider,
collapse,
);
const getBindValues = computed(() => ({ ...attrs, ...props })); const getBindValues = computed(() => ({ ...attrs, ...props }));
......
<template> <template>
<MenuItem <MenuItem :name="item.path" v-if="!menuHasChildren(item) && getShowMenu" v-bind="$props" :class="getLevelClass">
:name="item.path"
v-if="!menuHasChildren(item) && getShowMenu"
v-bind="$props"
:class="getLevelClass"
>
<Icon v-if="getIcon" :icon="getIcon" :size="16" /> <Icon v-if="getIcon" :icon="getIcon" :size="16" />
<div v-if="collapsedShowTitle && getIsCollapseParent" class="mt-1 collapse-title"> <div v-if="collapsedShowTitle && getIsCollapseParent" class="mt-1 collapse-title">
{{ getI18nName }} {{ getI18nName }}
...@@ -94,7 +89,7 @@ ...@@ -94,7 +89,7 @@
!menuTreeItem.meta?.hideChildrenInMenu && !menuTreeItem.meta?.hideChildrenInMenu &&
Reflect.has(menuTreeItem, 'children') && Reflect.has(menuTreeItem, 'children') &&
!!menuTreeItem.children && !!menuTreeItem.children &&
menuTreeItem.children.length > 0 menuTreeItem.children.filter((c) => !c.hideMenu).length > 0
); );
} }
......
...@@ -130,17 +130,12 @@ ...@@ -130,17 +130,12 @@
if (!unref(getIsShowLogo) && !unref(getIsMobile)) return null; if (!unref(getIsShowLogo) && !unref(getIsMobile)) return null;
return ( return (
<AppLogo <AppLogo showTitle={!unref(getCollapsed)} class={unref(getLogoClass)} theme={unref(getComputedMenuTheme)} />
showTitle={!unref(getCollapsed)}
class={unref(getLogoClass)}
theme={unref(getComputedMenuTheme)}
/>
); );
} }
function renderMenu() { function renderMenu() {
const { menus, ...menuProps } = unref(getCommonProps); const { menus, ...menuProps } = unref(getCommonProps);
// console.log(menus);
if (!menus || !menus.length) return null; if (!menus || !menus.length) return null;
return !props.isHorizontal ? ( return !props.isHorizontal ? (
<SimpleMenu {...menuProps} isSplitMenu={unref(getSplit)} items={menus} /> <SimpleMenu {...menuProps} isSplitMenu={unref(getSplit)} items={menus} />
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论