ソースを参照

载入时定位到适当的tabs

visuddhinanda 2 年 前
コミット
e82b57bf00
1 ファイル変更10 行追加16 行削除
  1. 10 16
      dashboard/src/pages/library/search/search.tsx

+ 10 - 16
dashboard/src/pages/library/search/search.tsx

@@ -15,12 +15,16 @@ const Widget = () => {
   const [searchParams, setSearchParams] = useSearchParams();
   const [searchParams, setSearchParams] = useSearchParams();
   const [bookRoot, setBookRoot] = useState("default");
   const [bookRoot, setBookRoot] = useState("default");
   const [bookPath, setBookPath] = useState<string[]>([]);
   const [bookPath, setBookPath] = useState<string[]>([]);
-  const [searchPage, setSearchPage] = useState(false);
   const navigate = useNavigate();
   const navigate = useNavigate();
   const [pageType, setPageType] = useState("P");
   const [pageType, setPageType] = useState("P");
-  const [view, setView] = useState("pali");
+  const [view, setView] = useState<ISearchView | undefined>("pali");
 
 
-  useEffect(() => {}, [key, searchParams]);
+  useEffect(() => {
+    const v = searchParams.get("view");
+    if (typeof v === "string") {
+      setView(v as ISearchView);
+    }
+  }, [key, searchParams]);
 
 
   useEffect(() => {
   useEffect(() => {
     let currRoot: string | null;
     let currRoot: string | null;
@@ -61,7 +65,6 @@ const Widget = () => {
                     size="large"
                     size="large"
                     width={"500px"}
                     width={"500px"}
                     value={key}
                     value={key}
-                    searchPage={searchPage}
                     view={view}
                     view={view}
                     tags={searchParams.get("tags")?.split(",")}
                     tags={searchParams.get("tags")?.split(",")}
                     onSearch={(value: string) => {
                     onSearch={(value: string) => {
@@ -90,20 +93,11 @@ const Widget = () => {
                   ))}
                   ))}
                 </Breadcrumb>
                 </Breadcrumb>
                 <Tabs
                 <Tabs
+                  activeKey={view}
                   onChange={(activeKey: string) => {
                   onChange={(activeKey: string) => {
-                    setView(activeKey);
-                    searchParams.set("type", activeKey);
+                    setView(activeKey as ISearchView);
+                    searchParams.set("view", activeKey);
                     setSearchParams(searchParams);
                     setSearchParams(searchParams);
-                    switch (activeKey) {
-                      case "pali":
-                        setSearchPage(false);
-                        break;
-                      case "page":
-                        setSearchPage(true);
-                        break;
-                      default:
-                        break;
-                    }
                   }}
                   }}
                   size="small"
                   size="small"
                   items={[
                   items={[