реакция-выбора даты не выполняется с момента и новой даты - PullRequest
0 голосов
/ 23 сентября 2018

Я пытаюсь установить свойство minDate в response-datepicker компонент с 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}
     />

Моя строка миндаты - "2011-10-01".И все же результат - текущий день, и в консоли нет ошибок, спасибо за любую помощь.

Ответы [ 3 ]

0 голосов
/ 23 сентября 2018

Мне кажется, что вам не нужен новый момент, когда вы передаете данные в minDate prop.Вы делаете это так.

0 голосов
/ 23 сентября 2018

Я сам это понимаю, похоже, что если установлено свойство selected, оно будет отображаться, а не свойство minDate.

0 голосов
/ 23 сентября 2018

Я думаю, что вы должны дать значение для этого, потому что minDate и maxDate предназначены для проверки.minDate будет только результирующим значением, только если, когда данное значение или текущая дата меньше, чем min Date

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}
   />;
  }
}
...