Вы переопределяете аргумент name
, передаваемый методу handleChange
внутри этого метода, делая const name = target.name;
, поэтому, когда вы возвращаете состояние в конце:
this.setState({
[name]: event.target.value
})
Вы не устанавливаете ожидаемый plannedDep
.
Вы можете исправить это двумя способами:
1) Установите состояние напрямую через:
this.setState({
plannedDep: event.target.value
})
2) Добавьте атрибут имени к вашему TextField
, чтобы target.name
был значением атрибута имени вашего TextField, который вызвал событие:
<TextField
id="datetime-local"
name="plannedDep" // see here!
label="Next appointment"
type="datetime-local"
onChange={this.handleChange("plannedDep")}
defaultValue="2017-05-24T10:30"
className={classes.textField}
InputLabelProps={{
shrink: true
}}
/>
Здесь рабочая демоверсия