React Datepicker排除过去的日期

时间:2018-05-31 14:41:04

标签: reactjs react-datepicker

我在我的应用中使用了这个库:

https://reactdatepicker.com/

我可以使用excludeDates道具,在那里我可以传递一个日期列表,即今天和昨天将被排除:

excludeDates={[moment(), moment().subtract(1, "days")]}

我希望有一种更好的方法,而不是将数百个日期传递到该数组中。

谢谢!

4 个答案:

答案 0 :(得分:7)

也许你可以使用这样的组件:

<DatePicker
  selected={this.state.startDate}
  onChange={this.handleChange}
  minDate={moment()}
  placeholderText="Select a day"
/>

您可以使用minDate和maxDate道具选择可选日期的唯一范围。

答案 1 :(得分:0)

<DatePicker
selected={this.state.startDate}
onChange={this.handleChange}
minDate={new Date()}
/>

现在事情变得更加简单了。 根据官方的 https://reactdatepicker.com/

我们也可以使用

  maxDate={addDays(new Date(), 5)} // 5 is number of days from today

答案 2 :(得分:0)

在您的代码中使用以下代码段:

<DatePicker
    selected={new Date()}
    onChange={date => handleDateChange(date, field)}
    minDate={moment().toDate()}
/>

答案 3 :(得分:0)

您可以在日期选择器中使用“ disablePast” 属性,它将在react datepicker中禁用您的过去日期,如下面的代码

<DatePicker
              selected={this.state.startDate}
              onChange={this.handleChange}
              disablePast
              placeholderText="Select a day"
            />