Else if
条件不在第一次点击按钮上给出响应,它总是给出响应第二次点击按钮。
我正在尝试获取date diff between two date
,最短日期到最长日期。
根据所选日期每次点击都会显示日期,但maxDate& minDate未设置状态。
第二次点击minDate中设置的第一个日期后,第三次点击将第二个日期设置为maxDate。 但我想要设定日期以及点击按钮。
this.onDayPress = this.selecionarData.bind(this);
selecionarData(date){
let {year, month, day} = date;
if (this.state.minDate && this.state.maxDate) {
if (this.state.minDate > day) {
this.setState({
minDate: day
});
} else {
this.setState({
maxDate: day
});
}
} else if (this.state.minDate && this.state.maxDate === undefined) {
if (this.state.minDate > day) {
this.setState({
minDate: day,
maxDate: this.state.minDate
});
} else {
this.setState({
maxDate: day
})
}
} else {
this.setState({
minDate: day
});
}
答案 0 :(得分:0)
确保为minDate
和maxDate
设置初始状态。
请参阅此处了解文档:https://facebook.github.io/react/docs/react-component.html#setstate
答案 1 :(得分:0)
非常感谢你提出想法。 实际上它的工作链接在我的情况下:
if (this.state.minDate > day) {
this.setState({
minDate: day
},() =>{this.methodCall()});
} else {
this.setState({
maxDate: day
},() =>{this.methodCall()});
}
}