import { useShallow } from 'zustand/react/shallow'; import { useUserAppStore } from '../store'; import { useEffect } from 'react'; import { Button, Form, Input, Space, Modal, Select, Tooltip, Switch } from 'antd'; import { CodeOutlined, DeleteOutlined, EditOutlined, LinkOutlined, PlusOutlined, UnorderedListOutlined } from '@ant-design/icons'; import { isObjectNull } from '@/utils/is-null'; import { useNewNavigate } from '@/modules'; import { marked } from 'marked'; import clsx from 'clsx'; import { message } from '@/modules/message'; const FormModal = () => { const [form] = Form.useForm(); const containerStore = useUserAppStore( useShallow((state) => { return { showEdit: state.showEdit, setShowEdit: state.setShowEdit, formData: state.formData, updateData: state.updateData, }; }), ); useEffect(() => { const open = containerStore.showEdit; if (open) { if (open) { const isNull = isObjectNull(containerStore.formData); if (isNull) { form.setFieldsValue({}); } else form.setFieldsValue(containerStore.formData); } } }, [containerStore.showEdit]); const onFinish = async (values: any) => { containerStore.updateData(values); }; const onClose = () => { containerStore.setShowEdit(false); form.resetFields(); }; const isEdit = containerStore.formData.id; return ( containerStore.setShowEdit(false)} destroyOnClose footer={false} width={800} onCancel={onClose}>