import React, { Fragment } from 'react'; import { Field as FinalField } from 'react-final-form'; import { Input } from './index'; import { InputProps } from '../../types'; import { ErrorMessage } from '../ErrorMessage'; export interface IFormProps extends InputProps { name: string; onClear?: (val: string) => void; required?: boolean; type?: string; } export const FormInput = ({ onClear = (val: string) => {}, type = 'string', ...props }: IFormProps & React.InputHTMLAttributes) => { const clear = () => onClear(props.name); return ( { if (props.required) { if (!val) { let errors = {}; errors[props.name] = 'required'; return errors; } } return undefined; }} displayEmpty > {({ input, meta }) => { const newProps = { ...props }; return ( ); }} ); };