Во-первых, вы связываете свой обработчик, но фактически не используете его.Кроме того, вы можете передать дату через реквизит, чтобы ее можно было установить в начальное значение, которое не является текущей датой (по умолчанию используется текущая дата, если она не указана:
class DateSelect extends Component {
constructor (props) {
super(props);
this.state = {
startDate: moment()
};
this.handleChange = this.handleChange.bind(this);
}
handleChange(date) {
this.setState({
selected: date
});
}
render() {
return <DatePicker
selected={this.props.selected || this.state.startDate}
onChange={this.handleChange} // <- attaches handleChange to onChange
/>;
}
}
Сейчас, вниз вВаш JSX для вашей таблицы, вам нужно только вызвать ваш компонент. Вы должны вызывать свой пользовательский компонент вместо DatePicker, чтобы он загружался с вашим поведением и позволял вам делать такие вещи, как передача значений по умолчанию или сохраненных значений в подпорки компонентов:
<TableRow selectable={false} key={id}>
<TableRowColumn>{item_description}</TableRowColumn>
<TableRowColumn>{purchase_date}</TableRowColumn>
<TableRowColumn id="count-me">${item_price}
<!-- DateSelect component, passing the 'selected' prop as
an value in someStartDate -->
<DateSelect selected={someStartDate} />