#javascript #reactjs #ecmascript-6
#javascript #reactjs #ecmascript-6
Вопрос:
Я должен отключить кнопку, если reserved_date
через 2 дня. Как я могу это сделать. Пожалуйста, проверьте мой код ниже
today = new Date()
<Button type="submit" color="primary" variant="contained" disabled={new Date(value.reserved_date) <= today}>
Submit
</Button>
Комментарии:
1. пожалуйста, проверьте, является ли значение value.reserved_date миллисекундным
Ответ №1:
попробуйте это:
в react:
var today = new Date().getTime();
var value = {
reserved_date : new Date("October 03, 2020").getTime()
};
var diffDate = value.reserved_date - today; //Future date - current date
var daysTillReservedDate = Math.floor(diffDate / (1000 * 60 * 60 * 24));
<Button type="submit" color="primary" disabled = {daysTillReservedDate < -1} variant="contained">
Submit
</button>
var today = new Date().getTime();
var value = {
reserved_date : new Date("October 03, 2020").getTime()
};
var diffDate = value.reserved_date - today; //Future date - current date
var daysTillReservedDate = Math.floor(diffDate / (1000 * 60 * 60 * 24));
if(daysTillReservedDate < -1){
document.getElementById("mustDisable").setAttribute("disabled", "true");
}
<button type="submit" color="primary" id="mustDisable" variant="contained">
Submit
</button>
Ответ №2:
Выполнение чего-то подобного может решить вашу проблему.
const isDisabled = () => {
const reservedDateTime = new Date(value.reserved_date).getTime();
const todayTime = new Date().getTime();
const days = Math.ceil((todayTime - reservedDateTime) / (1000 * 3600 * 24));
return days >= 2;
}
<Button type="submit" color="primary" variant="contained" disabled={isDisabled()}>
Submit
</Button>
Ответ №3:
const twoDaysRemaining = (value) => {
const reservedDate = new Date(value).getTime();
const today = new Date().getTime();
const days = Math.ceil((reservedDate - today) / (1000 * 3600 * 24));
if (days > 2) {
return false;
} else {
return true;
}
};