import React, { useMemo } from 'react'; import { MetaForm, regField, MetaFormContainerComponent, regFormContainer, } from 'meta-form'; import { Form, Button } from 'antd'; import { MetaFormText } from './types/Text'; import { MetaFormTextArea } from './types/TextArea'; import { MetaFormPassword } from './types/Password'; import { MetaFormSelect } from './types/Select'; import { MetaFormCheckbox } from './types/Checkbox'; import { MetaFormCustom } from './types/Custom'; regField('text', MetaFormText); regField('textarea', MetaFormTextArea); regField('password', MetaFormPassword); regField('select', MetaFormSelect); regField('checkbox', MetaFormCheckbox); regField('custom', MetaFormCustom); const WebMetaFormContainer: MetaFormContainerComponent = React.memo((props) => { const layout = props.layout; const submitButtonRender = useMemo(() => { return ( ); }, [ props.loading, props.handleSubmit, props.canSubmit, props.submitLabel, layout, ]); return (
{props.children} {submitButtonRender}
); }); WebMetaFormContainer.displayName = 'WebMetaFormContainer'; regFormContainer(WebMetaFormContainer); export const WebMetaForm = MetaForm; WebMetaForm.displayName = 'WebMetaForm';