Как мне получить в моем календаре реакции фильтрацию дней (обновить первую доступную дату на основе ввода данных пользователем)
Мой проект - это форма, которую пользователи заполняют для проверки книг. У меня есть календарь реакции, который они используют, чтобы выбрать дату проверки. Мне нужно, чтобы в календаре все дни до текущей даты и все будущие выходные были неактивными (чтобы можно было щелкнуть только рабочие дни в будущем. Затем, в зависимости от ввода пользователя (выбор из списка возможных типов проверки) календарь, чтобы сделать первый доступный день на 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}
/>