import React, { useEffect, useState } from 'react';
import _ from 'lodash';
import { Form, Button } from 'antd';
import { config } from '../component/base/config';
import { transferAttr } from '../component/base/_utils/transferAttr';
import { setFormat, getFormat } from '../component/base';
import styles from './index.less';
const FormItem = Form.Item;
const EditForm = (props: any) => {
const [form] = Form.useForm();
const {
data, rowData, onFinish, initialValues, onCancel, colsNum = 1,
} = props;
const [loading, setLoading] = useState(false);
useEffect(() => {
form.resetFields();
}, [data]);
if (!rowData) {
form.resetFields();
}
const renderEditForm = (item: any) => {
const {
columnType,
columnName,
columnChsName,
columnAttrObj,
value,
renderEditForm,
readOnlyFlag,
rules = [],
validateFirst = true,
validateTrigger = 'onChange',
renderLabel,
} = item;
let detailConfig: any;
if (typeof renderEditForm === 'function') {
detailConfig = renderEditForm({ cellData: value, rowData, columnConfig: item });
} else {
detailConfig = config[String(columnType)] || config['1'];
}
const EditComp: any = detailConfig.editComp;
const newProps = {
...(detailConfig.componentAttr || {}),
...(columnAttrObj || {}),
};
const transferColumn = transferAttr(columnType, newProps);
return (