javascript - react-datepicker 因时刻和新日期而失败
问题描述
我正在尝试在react-datepicker组件中设置minDate
属性:moment
if(this.props.minDate){
console.log('date:' + moment(this.props.minDate)); //1517436000000
return <DatePicker
minDate={ new moment(this.props.minDate)}
selected={this.state.startDate}
onChange={this.handleChange}
disabled = {this.props.disabled}
/>
或与new Date
:
console.log('new date:' + new Date(this.props.minDate)); // Thu Feb 01 2018 02:00:00 GMT+0200
return <DatePicker
minDate={ new Date(this.props.minDate)}
selected={this.state.startDate}
onChange={this.handleChange}
disabled = {this.props.disabled}
/>
我的 minDate 字符串 - "2011-10-01"
。结果仍然是当天,控制台中没有错误,感谢您的帮助。
解决方案
我认为您必须为此提供价值,因为 minDate 和 maxDate 用于验证目的。只有当给定值或当前日期小于 min Date 时,minDate 才会是结果值
class Example extends React.Component {
constructor (props) {
super(props)
this.minDate = new moment(props.minDate)
this.state = {
startDate: props.minDate
};
this.handleChange = this.handleChange.bind(this);
}
handleChange(date) {
this.setState({
startDate: date
});
}
render() {
return <DatePicker
selected={this.state.startDate}
onChange={this.handleChange}
minDate={this.minDate}
value={this.props.startDate}
/>;
}
}