visuddhinanda 3 лет назад
Родитель
Сommit
6f8e0021e2
1 измененных файлов с 18 добавлено и 4 удалено
  1. 18 4
      dashboard/src/components/corpus/BookTree.tsx

+ 18 - 4
dashboard/src/components/corpus/BookTree.tsx

@@ -1,6 +1,6 @@
 import { useState, useEffect, Key } from "react";
 import { useState, useEffect, Key } from "react";
 import { DownOutlined } from "@ant-design/icons";
 import { DownOutlined } from "@ant-design/icons";
-import { Button, Space, Tree } from "antd";
+import { Button, Space, Switch, Tree } from "antd";
 import { Typography } from "antd";
 import { Typography } from "antd";
 
 
 import { get } from "../../request";
 import { get } from "../../request";
@@ -29,6 +29,10 @@ const Widget = ({
 }: IWidgetBookTree) => {
 }: IWidgetBookTree) => {
   const [treeData, setTreeData] = useState<ITocTree[]>([]);
   const [treeData, setTreeData] = useState<ITocTree[]>([]);
   const [selectedKeys, setSelectedKeys] = useState<Key[]>([]);
   const [selectedKeys, setSelectedKeys] = useState<Key[]>([]);
+  const [isMultiSelect, setIsMultiSelect] = useState(multiSelect);
+  useEffect(() => {
+    setIsMultiSelect(multiSelect);
+  }, [multiSelect]);
   useEffect(() => {
   useEffect(() => {
     if (typeof root !== "undefined") fetchBookTree(root);
     if (typeof root !== "undefined") fetchBookTree(root);
   }, [root]);
   }, [root]);
@@ -76,7 +80,7 @@ const Widget = ({
           }}
           }}
         />
         />
       </Space>
       </Space>
-      {multiSelect ? (
+      <Space style={{ display: "flex", justifyContent: "space-between" }}>
         <Button
         <Button
           onClick={() => {
           onClick={() => {
             setSelectedKeys([]);
             setSelectedKeys([]);
@@ -87,11 +91,21 @@ const Widget = ({
         >
         >
           清除选择
           清除选择
         </Button>
         </Button>
-      ) : undefined}
 
 
+        <span>
+          {"多选"}
+          <Switch
+            size="small"
+            defaultChecked={multiSelect}
+            onChange={(checked) => {
+              setIsMultiSelect(checked);
+            }}
+          />
+        </span>
+      </Space>
       <Tree
       <Tree
         selectedKeys={selectedKeys}
         selectedKeys={selectedKeys}
-        multiple={multiSelect}
+        multiple={isMultiSelect}
         showLine
         showLine
         switcherIcon={<DownOutlined />}
         switcherIcon={<DownOutlined />}
         defaultExpandedKeys={["sutta"]}
         defaultExpandedKeys={["sutta"]}