DatePicker反应是否将“值”属性作为输入?

时间:2019-06-09 00:47:51

标签: javascript reactjs datepicker

DatePicker反应是否将“值”属性作为输入? 是否可以将新值分配给 DatePicker 组件(库日期选择器)中的属性'value'-> value = {this.state.dates.date} 就像我在输入中所做的一样?

预期效果:我使用日期选择器选择日期->稍后,我从数据选择器中选择一个新日期并覆盖以前的日期


this.state = {
    startDate: new Date()
}

 handleChange = (date) => {
    this.setState({
      startDate: date
    });
  }

<DatePicker 
  value = {this.state.startDate} //???????
  selected={this.state.startDate}
  onChange={this.handleChange}
  showTimeSelect
  timeFormat="HH:mm"
  timeIntervals={15}
  dateFormat="yyyy-MM-dd || HH:mm"
  timeCaption="time"
/>

<input type="text" value={this.state.dates.date} />

2 个答案:

答案 0 :(得分:1)

使用here中的代码,如果要获取上一个日期,请在editForm / Todo组件中添加一个取消按钮,单击该按钮将取消编辑,并且不会保存新日期。

onCancel = () => {
  this.setState({
    isEditing: false,
  });
}

DEMO

答案 1 :(得分:0)

由于您将日期放入数组中,因此无法实现。因此,您必须确定该值应该是数组的哪个索引。但是,如果只能是一个日期,则该数组没有用。但是,我不清楚您使用开始日期和日期数组的情况。

如果要将日期保留在数组中,则为:

value = {this.state.dates[0].date}

或者如果您一直想使用数组中的最后一个日期

value = {this.state.dates[this.state.dates.length- 1].date}

但是,如果可能的话,我会考虑为您的Datepicker仅使用您所在州的一个日期字段