我正在为我们的日历控件使用 react-datetime。现在的问题是,如果用户输入了像“djfdjfhjkhdf”这样的无效日期,那么在这个控件中没有什么可以验证的。所以我决定编写自己的验证函数并调用它如果日期无效,则模糊事件然后清除用户输入的文本。我的代码是这样的:-
import DatePicker from 'react-datetime';
focousOut(value) {
if (!validateDate(value)) {
this.setState({ startDate: ''});
this.setState({ selectedValue: '' });
}
}
handleChange(date) {
this.setState({ selectedValue: date });
this.setState({ startDate: date });
}
<Datetime
timeFormat={false}
value={this.state.selectedValue}
defaultValue={this.state.startDate}
onChange={this.handleChange}
onBlur={this.focousOut}
locale='en-US'
dateFormat
closeOnSelect
/>