Как мне получить в моем календаре реакции фильтрацию дней (обновить первую доступную дату на основе ввода данных пользователем)

Мой проект - это форма, которую пользователи заполняют для проверки книг. У меня есть календарь реакции, который они используют, чтобы выбрать дату проверки. Мне нужно, чтобы в календаре все дни до текущей даты и все будущие выходные были неактивными (чтобы можно было щелкнуть только рабочие дни в будущем. Затем, в зависимости от ввода пользователя (выбор из списка возможных типов проверки) календарь, чтобы сделать первый доступный день на 1 или 2 дня в будущем.

Мне удалось отфильтровать будущие выходные, а встроенная функция minDate гарантирует, что все дни до текущей даты неактивны, но моя фильтрация все еще ошибочна. Он пропускает 7 дней, а не 2 дня. Пожалуйста помоги.

      const [date, setDate] = useState(new Date());
  const dateFormatted = format(date, "yyyy/MM/dd"); 
  const dateSelected = date =>{
    date.toLocaleDateString();
    setDate(date);
  };
//This is how I get id value of the different inspectiuon types
const [enquiryType, setEnquiryType] = useState('0');
  const handleSelect = (event) => {
    const index = event.target.selectedIndex;
    const optionElement = event.target.childNodes[index];
    const optionElementId = optionElement.getAttribute('id');

    setEnquiryType(optionElementId);
  }

const singleDay = addDays(date, 1);
const doubleDays = addDays(date, 2);

  const calcDays = () => {
    if (enquiryType === '0'){
      return new Date();
    } else if (enquiryType === '1'){
      return singleDay;
    } else if (enquiryType === '2'){
      return doubleDays;
    } 
  }

            <Calendar
            
            tileDisabled={({ date }) => date.getDay() === 0 || date.getDay() === 6}
            prev2AriaLabel={null}
            prev2Label={null}
            next2Label={null}
            locale={null}
            showNeighboringMonth={false}
            minDetail="month"
            minDate={calcDays()}
            value={date}
            onClickDay={dateSelected}
            //onChange={dateSelected} 
            />

0 ответов

Другие вопросы по тегам