1 回答

TA貢獻1866條經驗 獲得超5個贊
您可以將checkDate(event)函數移動到函數內部,因為這里的事物是異步的,因此在設置狀態時您可以調用this.setState類似的東西,handleChangecheckDate(event)
handleChange = (event) => {
this.setState(
{
[event.target.name]: event.target.value
},
() => {
this.checkDate(event);
}
);
};
然后像這樣修改checkDate函數,
checkDate = async (event) => {
let d1 = new Date(this.state.dateFrom);
let d2 = new Date(this.state.dateTo);
if (d1.getTime() < d2.getTime()) {
this.setState({
validate: false
});
} else {
this.setState({
validate: true
});
}
console.log(d1.getTime());
console.log(d2.getTime());
console.log(this.state.validate);
};
也改變條件,
d1.getTime() > d2.getTime() 截止 d1.getTime() < d2.getTime()日期d1應該總是小于d2日期...
添加回答
舉報