diff --git a/packages/theme/src/client/clientAppEnhance.ts b/packages/theme/src/client/clientAppEnhance.ts index 043473dc..f0613872 100644 --- a/packages/theme/src/client/clientAppEnhance.ts +++ b/packages/theme/src/client/clientAppEnhance.ts @@ -1,14 +1,23 @@ import { defineClientAppEnhance } from '@vuepress/client' +import type { Component } from 'vue' +import { h } from 'vue' +import { useScrollPromise } from './composables' import './styles/index.scss' -export default defineClientAppEnhance(({ app }) => { +export default defineClientAppEnhance(({ app, router }) => { app.component('NavbarSearch', () => { - const SearchComponent = - app.component('Docsearch') || app.component('SearchBox') + const SearchComponent = (app.component('Docsearch') || + app.component('SearchBox')) as Component if (SearchComponent) { - return SearchComponent + return h(SearchComponent) } return null }) + + const scrollBehavior = router.options.scrollBehavior! + router.options.scrollBehavior = async (...args) => { + await useScrollPromise().wait() + return scrollBehavior(...args) + } }) diff --git a/packages/theme/src/client/components/SidebarItems.vue b/packages/theme/src/client/components/SidebarItems.vue index f2880306..12ef05d3 100644 --- a/packages/theme/src/client/components/SidebarItems.vue +++ b/packages/theme/src/client/components/SidebarItems.vue @@ -53,13 +53,6 @@ const sidebarClick = (sidebar: SidebarListComputed): void => { :class="{ line: deep === 1 }" >
-