Я использую useField
, чтобы создать свой собственный ввод.
import { Formik, Field, Form, ErrorMessage, useField } from "formik";
import * as Yup from "yup";
const MyInput = props => {
const [field, meta] = useField(props);
return (
<>
<div className="form-group">
<label htmlFor={props.name}>{props.label}</label>
<input {...field} {...props} className="form-control form-control-lg" />
<span className="input-error">
{meta.error && meta.touched && meta.error}
</span>
</div>
</>
);
};
Фактический ввод:
<MyInput name="firstName" type="text" label="First Name" />
Это почти прекрасно работает, за исключением того факта, что html Вывод выглядит так:
<label for="firstName">First Name</label>
<input name="firstName" type="text" label="First Name" class="form-control form-control-lg" value="">
Эта метка предназначена только для фактической метки текстового поля и не предназначена для go в фактическом входном теге, как это происходит и в действительности. Как лучше всего обойти это, если есть?