如何使日期选择器与反应挂钩形式一起工作?

How to make datepicker work with react hook form?

我在下面有一个简短的代码,日期选择器工作正常,当我 select 其他日期时它会改变。 但我不明白为什么它总是在 required 验证中失败,即使我已经 select 一个日期。

<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}
      />
    )}
/>

我一直在关注这些链接,但我无法让它正常工作。

react-hook-link-Controllers

(顺便说一句,除了required之外还有其他验证,仅供演示)

我认为您没有正确使用 Controller。你应该使用它在 render prop 中提供的 valueonChange,试试 -

<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}
      />
    )}
/>