Использовал это: https://codesandbox.io/s/5154qzmjl в качестве примера выбора времени пользовательского интерфейса материала, и теперь у него проблемы, потому что я не могу изменить значение времени.
Я отображаю массив дней всостояние в TextField:
this.state = {
days: [
{ day: 0, fromHour: 9, fromMin: 0, toHour: 17, toMin: 30 },
{ day: 1, fromHour: 9, fromMin: 0, toHour: 17, toMin: 30 },
{ day: 2, fromHour: 9, fromMin: 0, toHour: 17, toMin: 30 },
{ day: 3, fromHour: 9, fromMin: 0, toHour: 17, toMin: 30 },
{ day: 4, fromHour: 9, fromMin: 0, toHour: 17, toMin: 30 },
{ day: 5, fromHour: 9, fromMin: 0, toHour: 17, toMin: 30 },
{ day: 6, fromHour: 9, fromMin: 0, toHour: 17, toMin: 30 },
],
}
render() {
const {
days,
} = this.state;
return (
<div>
{
days.map((e, index) => (
<Card
key={e.day}
className={classes.card}>
<CardContent>
<TextField
id="time"
label="From Time"
type="time"
value={e.fromHour.toString().padStart(2, '0') + ":" + e.fromMin.toString().padStart(2, '0')}
inputProps={{
step: 300, // 5 min
}}
/>
</CardContent>
</Card>
))}
</div>
);
}
ЗАМЕЧАНИЕ: функция времени дескриптора должна преобразоваться в строку для рендеринга.Однако значения привязаны к тем, которые я определил в моем состоянии.Как я могу изменить их?Спасибо за помощь.