首页 > 解决方案 > 如何使日期选择器与反应钩子形式一起使用?

问题描述

我在下面有一个短代码,日期选择器工作正常,当我选择其他日期时它会改变。但我无法弄清楚为什么required即使我已经选择了一个日期,它也总是无法通过验证。

<Controller
    control={control}
    name="disclosureDate"
    rules={{ required: 'This field is required' }}
    errors={errors.disclosureDate}
    value={disclosureDate}
    render={({ field }) => (
      <InputDate
        className="mb-px-8"
        onChange={(value) => setDisclosureDate(value)}
        value={disclosureDate}
      />
    )}
/>

我一直在关注这些链接,但我无法让它最终发挥作用。

反应挂钩链接控制器

堆栈溢出链接

(顺便说一句,除了 ,还有其他验证required,仅用于演示目的)

标签: javascriptreactjsreact-hook-formreact-datepicker

解决方案


我不认为你使用Controller正确。您应该使用它在渲染道具中提供的,尝试value-onChange

<Controller
    control={control}
    name="disclosureDate"
    rules={{ required: 'This field is required' }}
    errors={errors.disclosureDate}
    value={disclosureDate}
    render={({ value, onChange }) => (
      <InputDate
        className="mb-px-8"
        onChange={onChange}
        value={value}
      />
    )}
/>

推荐阅读