Javascript react datepicker因时间和新日期而失败

Javascript react datepicker因时间和新日期而失败,javascript,reactjs,datepicker,momentjs,Javascript,Reactjs,Datepicker,Momentjs,我正试图在具有力矩的组件中设置minDate属性: if(this.props.minDate){ console.log('date:' + moment(this.props.minDate)); //1517436000000 return <DatePicker minDate={ new moment(this.props.minDate)} selected={this.state.startDate}

我正试图在具有
力矩的组件中设置
minDate
属性:

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}
     />
我的minDate字符串-
“2011-10-01”

结果仍然是当前日期,控制台中没有错误,谢谢您的帮助。

我认为您必须为此给出值,因为minDate和maxDate用于验证目的。 仅当给定值或当前日期小于最小日期时,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}
   />;
  }
}
类示例扩展了React.Component{
建造师(道具){
超级(道具)
this.minDate=新时刻(props.minDate)
此.state={
开始日期:props.minDate
};
this.handleChange=this.handleChange.bind(this);
}
手册更改(日期){
这是我的国家({
开始日期:日期
});
}
render(){
回来
}
}

在我看来,当您将数据传递给minDate道具时,似乎不需要新的时刻实例。您是这样做的
minDate={new moment(this.props.minDate)}


React datepicker已经在内部使用了moment来操作数据对象,所以我认为您应该在将其传递给minDate道具的瞬间之前删除关键字new。

我自己计算这个,如果设置了
selected
属性,它将显示,而不是minDate属性。

这是定制的日期选择器,还是您正在使用AirBnB组件或其他东西?使用软件包-我的问题是
selected
属性覆盖
minDate
属性。我的问题是
selected
属性覆盖
minDate
属性。我添加了一个示例,请检查它是否有效。这就是我的意思,我们必须将值传递给over ride selected value。
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}
   />;
  }
}