Решение по реагированию на даты для выбора одной даты из календаря

Я пытаюсь выделить выбранную дату при нажатии на конкретную дату, используя React-даты, но не получил никакого решения для этого. Я использовал:

isDayHighlighted={day1 => returnDates().some(day2 => isSameDay(day1, day2))}

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

1 ответ

Решение

Если я правильно понимаю (основываясь на ваших комментариях), вы хотите сбросить выбранную дату при каждом изменении текущего отображаемого месяца.

Вы можете подключиться к onNextMonthClick а также onPrevMonthClick и установите дату на null,

Бегущий пример

class App extends React.Component {
  state = { date: null, focused: false };

  onDateChange = date => {
    this.setState({ date });
  };

  onFocusChange = ({ focused }) => {
    this.setState({ focused });
  };

  resetDate = () => {
    this.setState({ date: null });
  };

  render() {
    const { focused, date } = this.state;
    return (
      <div>
        <h1>React Dates Test</h1>
        <SingleDatePicker
          date={date}
          focused={focused}
          numberOfMonths={1}
          onDateChange={this.onDateChange}
          onFocusChange={this.onFocusChange}
          onNextMonthClick={this.resetDate}
          onPrevMonthClick={this.resetDate}
        />
      </div>
    );
  }
}
Другие вопросы по тегам