diff --git a/CHANGELOG.zh_CN.md b/CHANGELOG.zh_CN.md index c8a728f6d349ccad422a6387febdff60beaf2705..7565be1c85efca441599aee143bf5fc1fb229723 100644 --- a/CHANGELOG.zh_CN.md +++ b/CHANGELOG.zh_CN.md @@ -6,6 +6,8 @@ - 新增左侧菜单混合模式 - 新增 markdown 嵌入表单内示例 - 新增主框架外页面示例 +- `route.meta` 新增`currentActiveMenu`,`hideTab`,`hideMenu`参数 用于控制详情页面包屑级菜单显示隐藏。 +- 新增面包屑导航示例 ### 🐛 Bug Fixes @@ -14,6 +16,7 @@ - 修复图表库切换页面导致宽高计算错误 - 修复多语言配置 `Locale.show`导致配置不生效 - 修复路由类型错误 +- 修复菜单分割时权限失效问题 ## 2.0.0-rc.14 (2020-12-15) diff --git a/src/components/Menu/src/BasicMenu.vue b/src/components/Menu/src/BasicMenu.vue index 463b0516c2ae0e07f4b3f8bf4bbcc9bba872c03c..1c454fd766501113c4e5e012980a7922541a5383 100644 --- a/src/components/Menu/src/BasicMenu.vue +++ b/src/components/Menu/src/BasicMenu.vue @@ -118,16 +118,21 @@ listenerLastChangeTab((route) => { if (route.name === REDIRECT_NAME) return; handleMenuChange(route); - }, false); + const currentActiveMenu = route.meta?.currentActiveMenu; + if (currentActiveMenu) { + menuState.selectedKeys = [currentActiveMenu]; + setOpenKeys(currentActiveMenu); + } + }); watch( () => props.items, () => { handleMenuChange(); - }, - { - immediate: true, } + // { + // immediate: true, + // } ); async function handleMenuClick({ key, keyPath }: { key: string; keyPath: string[] }) { @@ -149,9 +154,7 @@ return; } const path = (route || unref(currentRoute)).path; - if (props.mode !== MenuModeEnum.HORIZONTAL) { - setOpenKeys(path); - } + setOpenKeys(path); if (props.isHorizontal && unref(getSplit)) { const parentPath = await getCurrentParentPath(path); menuState.selectedKeys = [parentPath]; diff --git a/src/components/Menu/src/components/BasicSubMenuItem.vue b/src/components/Menu/src/components/BasicSubMenuItem.vue index cf883db7bafc50089da13ace4df4600d4b749a6a..990460e6d11ee3f18e49f56d7d34f8237610aab0 100644 --- a/src/components/Menu/src/components/BasicSubMenuItem.vue +++ b/src/components/Menu/src/components/BasicSubMenuItem.vue @@ -1,6 +1,9 @@ + diff --git a/src/views/demo/feat/breadcrumb/ChildrenListDetail.vue b/src/views/demo/feat/breadcrumb/ChildrenListDetail.vue new file mode 100644 index 0000000000000000000000000000000000000000..f37c36755a940a914e386cb6828b4add40acf7d4 --- /dev/null +++ b/src/views/demo/feat/breadcrumb/ChildrenListDetail.vue @@ -0,0 +1,8 @@ + + diff --git a/src/views/demo/feat/breadcrumb/FlatList.vue b/src/views/demo/feat/breadcrumb/FlatList.vue new file mode 100644 index 0000000000000000000000000000000000000000..5a5aba2728fb36d35fa7715e425cec77ec69493d --- /dev/null +++ b/src/views/demo/feat/breadcrumb/FlatList.vue @@ -0,0 +1,10 @@ + + diff --git a/src/views/demo/feat/breadcrumb/FlatListDetail.vue b/src/views/demo/feat/breadcrumb/FlatListDetail.vue new file mode 100644 index 0000000000000000000000000000000000000000..1dfc75a9b62057a82d9f90a79e1e9bfdbdff72d2 --- /dev/null +++ b/src/views/demo/feat/breadcrumb/FlatListDetail.vue @@ -0,0 +1,8 @@ + +