Преглед изворни кода

点击切换编辑模式按钮的时候改变地址栏

visuddhinanda пре 3 година
родитељ
комит
931c4fb1ef
1 измењених фајлова са 9 додато и 4 уклоњено
  1. 9 4
      dashboard/src/components/article/ArticleCard.tsx

+ 9 - 4
dashboard/src/components/article/ArticleCard.tsx

@@ -9,6 +9,7 @@ import { modeChange } from "../../reducers/article-mode";
 import { IWidgetArticleData } from "./ArticleView";
 import ArticleCardMainMenu from "./ArticleCardMainMenu";
 import { ArticleMode } from "./Article";
+import { useNavigate } from "react-router-dom";
 
 interface IWidgetArticleCard {
   type?: string;
@@ -29,6 +30,7 @@ const Widget = ({
 }: IWidgetArticleCard) => {
   const intl = useIntl();
   const [mode, setMode] = useState<string>("read");
+  const navigate = useNavigate();
 
   const onClick: MenuProps["onClick"] = (e) => {
     console.log("click ", e);
@@ -69,14 +71,17 @@ const Widget = ({
       ]}
       value={mode}
       onChange={(value) => {
+        const newMode = value.toString();
         if (typeof onModeChange !== "undefined") {
-          if (mode === "read" || value.toString() === "read") {
-            onModeChange(value.toString());
+          if (mode === "read" || newMode === "read") {
+            onModeChange(newMode);
           }
         }
-        setMode(value.toString());
+        setMode(newMode);
         //发布mode变更
-        store.dispatch(modeChange(value.toString() as ArticleMode));
+        store.dispatch(modeChange(newMode as ArticleMode));
+        //修改url
+        navigate(`/article/${type}/${articleId}/${newMode}`);
       }}
     />
   );