import { DeleteOutlined, SearchOutlined } from "@ant-design/icons"; import { Button, Input, Form, Popconfirm } from "antd"; import React, { useEffect, useState } from "react"; import CustomColorPicker from "@/components/CustomColorPicker"; import { useModel } from "umi"; import noData from "@/assets/no-data.png"; import { RemarkInfo } from "@/type"; import { useSessionStorageState } from "ahooks"; export default function RemarkPanel() { const { project, addRemark, deleteRemark, updateRemark } = useModel("erModel"); const { remarks = [] } = project; const [search, setSearch] = React.useState(""); const [activeKey, setActiveKey] = useSessionStorageState("remark-active", { defaultValue: "", listenStorageChange: true }); const [remarkList, setRemarkList] = useState(remarks); useEffect(() => { setRemarkList(remarks.filter(item => item.name.includes(search))); }, [remarks, search]); const handleChange = (index: number, key: keyof RemarkInfo, value: any) => { const data = remarkList[index]; const newData = { ...data, [key]: value }; updateRemark(newData); const arr = [...remarkList]; arr[index] = newData; setRemarkList(arr); }; return (