React-datepicker:仅在 18 岁及以上时才启用设置日期

Ros*_*yba 7 momentjs reactjs react-datepicker

我有一个表单,用户可以在其中提交一些所需的信息

其中一个字段是出生日期

我正在为该特定字段使用react-datepicker包

一段代码如下所示:

        <label>
          <DatePicker
            autoComplete='off'
            dateFormatCalendar="MMMM"
            showYearDropdown
            scrollableYearDropdown
            onChange={this.handleChange}
            selected={this.state.formData.dob}
            maxDate={moment().subtract(6570, "days")}
            minDate={moment()}
            placeholderText="Date of birth"
            name="dob"
            customInput={
              <Input type='text' onKeyPress={e => e.preventDefault()} validations={[required]} value={this.state.formData.dob} />
            }
          />
        </label>
Run Code Online (Sandbox Code Playgroud)

6570 = 18*365 是从 18 年转换而来的天数,我知道这不是一个固定的天数,因为还有 364 天

这是日期选择器无法选择日期的屏幕截图

https://gyazo.com/4d66a8e59dbca5e79c3af7d6de139d21

有什么想法或建议可以让年满 18 岁的用户提交表单吗?

谢谢你!

Tri*_*ani 5

此问题可以通过使用特定日期范围示例来解决。

<DatePicker
    selected={this.state.startDate}
    onChange={this.handleChange}
    minDate={moment().subtract(500, "years")}
    maxDate={moment().subtract(18, "years")}
    showDisabledMonthNavigation
/>
Run Code Online (Sandbox Code Playgroud)

您可以在codesandbox.io上查看工作演示。