2

我怎样才能让ReactJS Datepicker只显示从本月开始的日期(没有回溯日期)。

4

2 回答 2

2

这不完全是我想要做的,但它是一个快速修复。

我使用 includeDates={this.state.includeDates}来自ReactJS Datepicker

我创建了一个自定义函数来打印从今天开始的日期,并将其保存在一个数组中,然后传递给反应状态excludeDates: [''],只有那些日子可以点击。

let fromDate = moment();
let toDate = moment().add(24, 'months'); //including only days starting from today untill 2 year
            for (let i = 0; i < moment(toDate).diff(fromDate, 'days') + 1; i++) {
                state.includeDates.push(moment(fromDate).add(i, 'days'));

} 

谢谢你!希望它可以帮助某人。

于 2017-07-21T17:09:55.880 回答
1

您可以使用 momentstartOf使用'month'参数来获取当月的第一天并将其传递给minDate选项以使 datepicker 仅启用从当月开始的日期:

<DatePicker
  selected={this.state.startDate}
  onChange={this.handleChange}
  minDate={moment().startOf('month')}
/>

如果您只想启用未来的日期,只需从链接示例中删除 maxDate 选项,您可以使用以下代码:

<DatePicker
  selected={this.state.startDate}
  onChange={this.handleChange}
  minDate={moment().startOf('day')}
/>
于 2017-07-21T18:25:51.290 回答