import { DrawerForm, ModalForm, ProFormDigit, ProFormGroup, ProFormSelect, ProFormText, ProFormTextArea } from "@ant-design/pro-components"; import { Button, Divider, Flex, Space, Typography } from "antd"; import { forwardRef, useEffect, useImperativeHandle, useRef, useState } from "react"; import { tableList } from "../../../api/client"; const EditNode = forwardRef(({ onFinish }, ref) => { const [open, setOpen] = useState(false); const formRef = useRef(null); const [record, setRecord] = useState(null); const [clients, setClients] = useState([{ label: "Local", value: 'local' }]); const onRequest = async () => { const res = await tableList(); return [{label: "[LOCAL]", value: 0},...res?.data?.map(e => ({ label: e.name, value: e.id }))]; } const onSubmit = async (params) => { onFinish && onFinish({ ...params, id: record?.id}) return true; } useImperativeHandle(ref, () => ({ open: (data) => { setOpen(true); setTimeout(() => setRecord(data), 100); } })) useEffect(() => { if (record && formRef.current && open) { formRef.current.setFieldsValue(record.detail); } }, [record, open, formRef.current]); return setOpen(e)} formRef={formRef} onFinish={onSubmit} modalProps={{ maskClosable: false, destroyOnHidden: true }} > 基础信息
{record?.type === 'git' && <> Git } {record?.type === 'cmd' && <> 命令 } {record?.type === 'status' && <> 健康监测 }
}) export default EditNode;