验证不适用于 React Datepicker 和 Formik



我一直在处理一个表单并一直在使用Formik。由于某种原因,所有道具(如错误和值(都被传递了,但触摸不起作用。我假设触摸没有正确设置,但我不确定是什么原因造成的。我目前有这个:

<Formik
initialValues={{date: ''}}
validation={{date: Yup.string().required('some error')}}
onSubmit={(values) => { console.log(values) }}
>
{({ errors, touched, values, setFieldValue }) => {
<form onSubmit={handleSubmit}>
...
<DatePicker 
id="date" 
name="date" 
value={values.date}
errors={errors.date}
touched={touched.date} 
onChange={setFieldValue}
/>
<button type='submit'>Submit</button>
</form>
}}
</Formik>

我一直在检查正在发送的 prop 值,唯一不起作用的是触摸,因为它未定义。我在这里配置了错误的日期选择器吗?我正在获得其他所有内容,并且我能够设置值,但从未设置触摸。我还有其他类似的领域,但工作正常。可能导致此问题的原因是什么?

我设法通过将handleBlur处理程序传递给DatePicker组件来解决此问题

onBlur={handleBlur}

最新更新