Имеет ли DatePicker response атрибут "значение" в качестве входных данных? Можно ли присвоить новое значение атрибуту 'value' -> value = {this.state.dates.date} в компоненте DatePicker (средство выбора даты в библиотеке) как я сделал во вводе?

Ожидаемый эффект: я выбираю дату с помощью DatePicker -> позже я выбираю новую дату из DataPicker и переопределяю предыдущую дату


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} />
0
Umbro 9 Июн 2019 в 03:47

2 ответа

Лучший ответ

Использование кода из здесь, если вы хотите получить предыдущую дату, добавьте кнопку отмены в ваш компонент editForm / Todo, при щелчке по которой она отменит редактирование и не сохранит новую дату.

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

ДЕМО

1
Junius L. 9 Июн 2019 в 09:47

Это будет невозможно так, как вы это сделали, поскольку вы помещаете дату в массив. Таким образом, вы должны указать, каким индексом массива должно быть значение. Однако, если это может быть только одна дата, то этот массив не будет использоваться. Однако сценарий, в котором вы используете начальную дату и массив дат, мне неясен ...

Если вы хотите сохранить дату в массиве, это будет:

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

Или если вы всегда хотите использовать последнюю дату в массиве

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

Однако, если возможно, я бы посоветовал работать только с одним полем даты в вашем штате для DatePicker

0
Jelte Homminga 9 Июн 2019 в 09:05