是的,Formik 没有 Datepicker 值

Yup with Formik doesn't Datepicker value

我一直在尽一切努力使这个表单与 yup 一起工作,但是当使用日期选择器时,该值既没有在字段中注册也没有与 yup 一起注册。 我的相关导入是 formik、yup、useForm 和 yupResolver。

我删除了不相关的代码以保存 space。我拥有的其他字段是名字、姓氏、电子邮件和 phone 号码,它们都按应有的方式工作,当值不符合条件时会注册并显示错误。

我有一个带有 formik 元素的控制台日志,它记录了所有值,并且所有值都被正确记录,除了日期,它是空的。

const Form = () => {
    const [fromDate, setFromDate] = useState(new Date());

    return (
        <>
            <div>
                <Formik validationSchema={formVal}>
                    {({ values,
                        errors) => ( 
                        <form onSubmit={handleSubmit(onSubmit)}>
                            <div>
                                <DatePicker
                                    id="fromDate"
                                    onChange={(date) => {
                                        setFieldValue(date);
                                    }}
                                />
                            </div>
                            <Button type="submit" ></Button>
                        </form>
                )}
                </Formik>
            </div>
        </>
    )}

您似乎没有正确使用 'setFieldValue'; 第一个参数应该是表单的字段名称。

应该是这样的:setFieldValue('fromDate', date); 请参阅 https://formik.org/docs/api/formik 以供参考。

另外,确保变量 'date' 是 Date 类型而不是包含实际日期值的对象。