отключить даты до текущей даты и после 1 месяца текущей даты в сборщике даты и времени - PullRequest
0 голосов
/ 13 декабря 2018

Я использую пользовательский интерфейс Ant для своего приложения реагирования, там у меня есть средство выбора даты. Я хочу отключить даты до текущей даты и после 1 месяца текущей даты.
мой указатель даты

<DatePicker
     defaultValue={moment()}
     format={dateFormat}
     className="datePicker"
     onChange={dateHandler}
     ref={(dateSelect) => { this.dateSelect = dateSelect }}
     disabledDate={(current) => {
         return moment().add(-1, 'days')  >= current && 
              moment().add(1, 'month')  <= current;
         }}
     onFocus={this.rideDateGA}
/>

здесь, если я return moment().add(-1, 'days') >= current, он отключает предыдущие даты от текущей даты, но не отключает месяц после даты.
так же, как если бы я return moment().add(1, 'month') <= current, тогда я могу отключить даты следующего месяца.
моя проблема, я не могу вернуть оба значения.
как я могу отключить предыдущие даты и даты следующего месяца

Ответы [ 2 ]

0 голосов
/ 11 апреля 2019

Чтобы отключить до текущей даты и после 1 месяца текущей даты, ниже приведен код.

disabledSubmissionDate = (submissionValue) => {
    if (!submissionValue) {
        return false;
    }
    return (submissionValue.valueOf() < Date.now()) || (submissionValue.valueOf() >= moment().add(1, 'month'));
}


<DatePicker disabledDate={this.disabledSubmissionDate} onChange=this.SubmissionDateOnChange} />
0 голосов
/ 13 декабря 2018

Чтобы даты были отключены, вам необходимо выполнить оба эти условия.

Когда условие:

moment().add(-1, 'days')  >= current && moment().add(1, 'month')  <= current;

Условие возвращает false, когда первое moment().add(-1, 'days') >= current равно false, поэтому вы видите, что дни до текущей даты правильно отключены,

Чтобы условие было правильным, вам необходимо:

<DatePicker
  defaultValue={moment()}
  format={dateFormat}
  className="datePicker"
  onChange={dateHandler}
  ref={(dateSelect) => { this.dateSelect = dateSelect }}
  disabledDate={(current) => {
     return moment().add(-1, 'days')  >= current ||
          moment().add(1, 'month')  <= current;
     }}
  onFocus={this.rideDateGA}
/>
...