import { Tabs } from "antd"; import React, { useRef, useState } from "react"; import TaskList from "./TaskList"; import { useAppSelector } from "../../hooks"; import { currentUser } from "../../reducers/current-user"; type TargetKey = React.MouseEvent | React.KeyboardEvent | string; const TaskRunning = ({ studioName }: { studioName?: string }) => { const currUser = useAppSelector(currentUser); return currUser ? ( ) : ( <>未登录 ); }; const TaskAssignee = ({ studioName }: { studioName?: string }) => { const currUser = useAppSelector(currentUser); return currUser ? ( ) : ( <>未登录 ); }; const TaskDone = ({ studioName }: { studioName?: string }) => { const currUser = useAppSelector(currentUser); return currUser ? ( ) : ( <>未登录 ); }; const TaskNew = ({ studioName }: { studioName?: string }) => { const currUser = useAppSelector(currentUser); return currUser ? ( ) : ( <>未登录 ); }; interface IWidget { studioName?: string; } const MyTasks = ({ studioName }: IWidget) => { const currUser = useAppSelector(currentUser); console.info("currUser", currUser); const initialItems = [ { label: "进行中", closable: false, key: "running", children: , }, { label: "待领取", closable: false, key: "2", children: , }, { label: "已完成", key: "done", closable: false, children: , }, ]; const [activeKey, setActiveKey] = useState(initialItems[0].key); const [items, setItems] = useState(initialItems); const newTabIndex = useRef(0); const onChange = (newActiveKey: string) => { setActiveKey(newActiveKey); }; const add = () => { const newActiveKey = `newTab${newTabIndex.current++}`; const newPanes = [...items]; newPanes.push({ label: "New Tab", key: newActiveKey, closable: true, children: , }); setItems(newPanes); setActiveKey(newActiveKey); }; const remove = (targetKey: TargetKey) => { let newActiveKey = activeKey; let lastIndex = -1; items.forEach((item, i) => { if (item.key === targetKey) { lastIndex = i - 1; } }); const newPanes = items.filter((item) => item.key !== targetKey); if (newPanes.length && newActiveKey === targetKey) { if (lastIndex >= 0) { newActiveKey = newPanes[lastIndex].key; } else { newActiveKey = newPanes[0].key; } } setItems(newPanes); setActiveKey(newActiveKey); }; const onEdit = ( targetKey: React.MouseEvent | React.KeyboardEvent | string, action: "add" | "remove" ) => { if (action === "add") { add(); } else { remove(targetKey); } }; return ( ); }; export default MyTasks;