import React from 'react'; import { Input, } from 'antd'; import Form, { FormComponentProps } from 'antd/lib/form/Form'; export interface BaseConfiguration { name: string; } type Props = FormComponentProps & { onSubmit(values: BaseConfiguration): void; }; class BasicConfigurationForm extends React.PureComponent { public submit(): Promise { return new Promise((resolve, reject) => { const { form, onSubmit, } = this.props; form.validateFields((error, values): void => { if (!error) { onSubmit({ name: values.name, }); resolve(); } else { reject(); } }); }); } public resetFields(): void { const { form } = this.props; form.resetFields(); } public render(): JSX.Element { const { form } = this.props; const { getFieldDecorator } = form; return (
e.preventDefault()}> Name}> { getFieldDecorator('name', { rules: [{ required: true, message: 'Please, specify a name', }], })( , ) }
); } } export default Form.create()(BasicConfigurationForm);