import React, { memo, RefObject, useEffect } from 'react'; import { Form, Select, InputNumber, Input, Switch, Radio, Button } from 'antd'; import Upload from '../Upload'; import DataList from '../DataList'; import MutiText from '../MutiText'; import Color from '../Color'; import CardPicker from '../CardPicker'; import Table from '../Table'; import Pos from '../Pos'; import { Store } from 'antd/lib/form/interface'; import FormItems from '../FormItems'; // import styles from './index.less'; const normFile = (e: any) => { console.log('Upload event:', e); if (Array.isArray(e)) { //待修改 return e; } return e && e.fileList; }; const { Option } = Select; const { TextArea } = Input; const formItemLayout = { labelCol: { span: 6 }, wrapperCol: { span: 16 }, }; interface FormEditorProps { uid: string; onSave: Function; onDel: Function; defaultValue: { [key: string]: any }; config: Array; rightPannelRef: RefObject; } const FormEditor = (props: FormEditorProps) => { const { config, defaultValue, onSave, onDel, uid, rightPannelRef } = props; const onFinish = (values: Store) => { onSave && onSave(values); }; const handleDel = () => { onDel && onDel(uid); }; const [form] = Form.useForm(); useEffect(() => { return () => { form.resetFields(); }; }, [uid, form]); const handlechange = () => { onFinish(form.getFieldsValue()); }; return (
{config.map((item, i) => { return ( {item.type === 'Number' && ( )} {item.type === 'Text' && ( )} {item.type === 'TextArea' && (