Commit 6d5c49f0a208de5b745c36d2320dd4c2cffe7d75
1 parent
0aeec5e9
fix(menu): currentActiveMenu fails after refresh #188
Showing
1 changed file
with
7 additions
and
4 deletions
src/components/Menu/src/BasicMenu.vue
@@ -58,6 +58,7 @@ | @@ -58,6 +58,7 @@ | ||
58 | emits: ['menuClick'], | 58 | emits: ['menuClick'], |
59 | setup(props, { emit }) { | 59 | setup(props, { emit }) { |
60 | const isClickGo = ref(false); | 60 | const isClickGo = ref(false); |
61 | + const currentActiveMenu = ref(''); | ||
61 | 62 | ||
62 | const menuState = reactive<MenuState>({ | 63 | const menuState = reactive<MenuState>({ |
63 | defaultSelectedKeys: [], | 64 | defaultSelectedKeys: [], |
@@ -118,10 +119,11 @@ | @@ -118,10 +119,11 @@ | ||
118 | listenerLastChangeTab((route) => { | 119 | listenerLastChangeTab((route) => { |
119 | if (route.name === REDIRECT_NAME) return; | 120 | if (route.name === REDIRECT_NAME) return; |
120 | handleMenuChange(route); | 121 | handleMenuChange(route); |
121 | - const currentActiveMenu = route.meta?.currentActiveMenu; | ||
122 | - if (currentActiveMenu) { | ||
123 | - menuState.selectedKeys = [currentActiveMenu]; | ||
124 | - setOpenKeys(currentActiveMenu); | 122 | + currentActiveMenu.value = route.meta?.currentActiveMenu; |
123 | + | ||
124 | + if (unref(currentActiveMenu)) { | ||
125 | + menuState.selectedKeys = [unref(currentActiveMenu)]; | ||
126 | + setOpenKeys(unref(currentActiveMenu)); | ||
125 | } | 127 | } |
126 | }); | 128 | }); |
127 | 129 | ||
@@ -153,6 +155,7 @@ | @@ -153,6 +155,7 @@ | ||
153 | } | 155 | } |
154 | const path = (route || unref(currentRoute)).path; | 156 | const path = (route || unref(currentRoute)).path; |
155 | setOpenKeys(path); | 157 | setOpenKeys(path); |
158 | + if (unref(currentActiveMenu)) return; | ||
156 | if (props.isHorizontal && unref(getSplit)) { | 159 | if (props.isHorizontal && unref(getSplit)) { |
157 | const parentPath = await getCurrentParentPath(path); | 160 | const parentPath = await getCurrentParentPath(path); |
158 | menuState.selectedKeys = [parentPath]; | 161 | menuState.selectedKeys = [parentPath]; |