import React, { FC, memo, useEffect } from "react"; import { Form, Select, Input, Modal, Button, InputNumber } from "antd"; import { baseFormOptionsType } from "../types"; import Color from "../Color"; const { Option } = Select; const formItemLayout = { labelCol: { span: 6 }, wrapperCol: { span: 14 } }; interface EditorModalProps { item: any; onSave: (data: any) => void; visible: boolean; } const EditorModal: FC = props => { const { item, onSave, visible } = props; const onFinish = (values: any) => { onSave && onSave(values); }; const handleOk = () => { form .validateFields() .then(values => { values.id = item.id; onSave && onSave(values); }) .catch(err => { console.log(err); }); }; const [form] = Form.useForm(); useEffect(() => { if (form && item && visible) { form.resetFields(); } }, [form, item, visible]); return ( <> {!!item && ( } forceRender visible={visible} onOk={handleOk} closable={false} >
{ } {!!item.label && ( )} {!!item.fontSize && ( )} {!!item.color && ( )} {!!item.placeholder && ( )} {!!item.options && ( )}
)} ); }; export default memo(EditorModal);