diff --git a/src/views/layout/components/Sidebar/SidebarItem.vue b/src/views/layout/components/Sidebar/SidebarItem.vue index adf2222a3029641c4b400f616813b6c29daaa5fe..1b5a7743049a9304fb8045a8426c01e08c71ca79 100644 --- a/src/views/layout/components/Sidebar/SidebarItem.vue +++ b/src/views/layout/components/Sidebar/SidebarItem.vue @@ -12,7 +12,7 @@ </el-menu-item> </app-link> </template> - <el-submenu v-else ref="subMenu" :index="resolvePath(item.path)"> + <el-submenu v-else ref="subMenu" :index="resolvePath(item.path)" :id="item.meta.title"> <template slot="title"> <item v-if="item.meta" diff --git a/src/views/layout/components/Sidebar/index.vue b/src/views/layout/components/Sidebar/index.vue index 85ec993a074390893a41f27ac8cb9ddea942e4c1..f57ebf1711135d04aec368bca4634f062c50fef0 100644 --- a/src/views/layout/components/Sidebar/index.vue +++ b/src/views/layout/components/Sidebar/index.vue @@ -71,6 +71,15 @@ export default { const routes = this.getMergedRoutes() this.$store.dispatch('GenerateRoutes', { roles: this.roles, _routesWithSettings: routes }) } + let isRequesting = true + const step = () => { + document.querySelector('#settings').scrollIntoView({ block: 'start', behavior: 'smooth' }) + if (isRequesting) requestAnimationFrame(step) + } + requestAnimationFrame(step) + setTimeout(() => { + isRequesting = false + }, 300) // this equals to the hide-timeout of the el-submenu } } }