Выделите дату следующих 2 недель с текущей даты в реагирующем указателе даты - PullRequest
0 голосов
/ 21 февраля 2019

Я использую response-datepicker .Я пытаюсь выделить даты следующих 2 недель с текущей даты. Я использовал следующий код:

var endDate = new Date();
var numberOfDaysToAdd = 13;
endDate.setDate(endDate.getDate() + numberOfDaysToAdd); 

var currDate = new Date();

<DatePicker
    dateFormat="YYYY-MM-DD"
    todayButton={"Today"}
    selected={this.state.startDate}
    onChange={this.handleChange} 
    highlightDates = {[currDate,endDate]}
/>

Но это не работает.Пожалуйста, помогите мне.

Ответы [ 2 ]

0 голосов
/ 21 февраля 2019

highlightDates требует массив Date, а не первую и последнюю дату.

Попробуйте что-то вроде этого:

<DatePicker
    dateFormat="YYYY-MM-DD"
    todayButton={"Today"}
    selected={this.state.startDate}
    onChange={this.handleChange} 
    highlightDates = {
      new Array(numberOfDaysToAdd).fill().map((_, i) => {  // map will return an array of dates
        const d = new Date();
        d.setDate(d.getDate() + i);
        return d;
      })
    }
/>
0 голосов
/ 21 февраля 2019

Взгляните на документацию https://reactdatepicker.com/#example-17

Есть решение:

  var endDate = new Date();
  var numberOfDaysToAdd = 13;

  const daysHighlighted = new Array(numberOfDaysToAdd).fill(endDate);

  <DatePicker
    dateFormat="YYYY-MM-DD"
    todayButton={"Today"}
    selected={this.state.startDate}
    onChange={this.handleChange}
    highlightDates={[
      {
        "highlighted-class": daysHighlighted.map((day, index) =>{
          day.setDate(day.getDate() + index)
          return new Date(day)
        }
        )
      }
    ]}
  />;
...