From 8888422fe223d703df88c92cec5cc1ea766a16d7 Mon Sep 17 00:00:00 2001 From: Timeless0911 <1604889533@qq.com> Date: Fri, 17 May 2024 16:11:11 +0800 Subject: [PATCH] fix: link error when use keyboard to enter search result --- .../theme-default/src/components/Search/SearchPanel.tsx | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/packages/theme-default/src/components/Search/SearchPanel.tsx b/packages/theme-default/src/components/Search/SearchPanel.tsx index 70a7fa35b..9ef953cc3 100644 --- a/packages/theme-default/src/components/Search/SearchPanel.tsx +++ b/packages/theme-default/src/components/Search/SearchPanel.tsx @@ -83,7 +83,8 @@ export function SearchPanel({ focused, setFocused }: SearchPanelProps) { siteData, page: { lang, version }, } = usePageData(); - const { sidebar, searchPlaceholderText = 'Search Docs' } = useLocaleSiteData(); + const { sidebar, searchPlaceholderText = 'Search Docs' } = + useLocaleSiteData(); const { search, title: siteTitle } = siteData; const versionedSearch = search && search.mode !== 'remote' && search.versioned; @@ -170,7 +171,11 @@ export function SearchPanel({ focused, setFocused }: SearchPanelProps) { currentSuggestionIndex >= 0 && currentRenderType === RenderType.Default ) { - const suggestion = currentSuggestions[currentSuggestionIndex]; + // the ResultItem has been normalized to display + const flatSuggestions = [].concat( + ...Object.values(normalizeSuggestions(currentSuggestions)), + ); + const suggestion = flatSuggestions[currentSuggestionIndex]; const isCurrent = currentSuggestions === searchResult[0].result; if (isCurrent) { window.location.href = isProduction()