Почему этот компонент не отображается вообще? Реагировать на DatePicker
Вот этот компонент:
import React, { Component } from 'react';
import DatePicker from 'react-datepicker';
class DatePickerCreater extends Component {
constructor(props){
super(props);
}
render() {
return (
<DatePicker
disabled={this.props.answer.isDisabled}
dateFormat="YYYY/MM/DD"
selected={Date(this.props.answer.value)}
onChange={(e) => this.props.blurHandler(e.target.value,this.props.answer)}
/>
);
}
}
export default DatePickerCreater
когда я пытаюсь сделать это, он ничего не показывает...
Очень благодарен за каждый ответ!
2 ответа
Решение
selected
собственность занимает moment.js
дата, а не простая дата JavaScript. Вы должны получить сообщение об ошибке "date.clone не является функцией". Вы можете исправить это, используя точную дату:
import moment from 'moment';
class DatePickerCreater extends Component {
render() {
return (
<DatePicker
disabled={this.props.answer.isDisabled}
dateFormat="YYYY/MM/DD"
selected={moment(this.props.answer.value)}
onChange={(e) => this.props.blurHandler(e.target.value, this.props.answer)}
/>
)
}
}
Также вы можете забыть импортировать react-datepicker
CSS-файл Без этого всплывающее окно не будет отображаться правильно:
import 'react-datepicker/dist/react-datepicker.css';
Код не достаточно, что я могу сказать, что super() нужно вызывать с помощью props:
constructor(props){
super(props);
// ... code
}