Как изменить имя ввода с помощью материалов-пользовательского интерфейса?
При интеграции материалов-ui-pickers отсюда https://material-ui-pickers.firebaseapp.com/usage с моментом. Я получаю только объект Moment в моем обработчике на onChange вместо входных данных с именем и значением (e.target имеет имя и значение в конкретном входе). Кто-нибудь может подсказать, как я могу узнать, какие входные данные были изменены в моей форме и иметь около 10 входных данных в моей форме?
2 ответа
Вы также можете использовать onInputChange
двигательный Диспетчерская дата обновления при каждом нажатии клавиши
<DatePicker
onInputChange=((e) => console.log(e.target.value))
/>
При рендеринге ваших входов вы должны предварительно сконфигурировать то, что будет отправлено каждой функции обработки изменений:
{['A', 'B', 'C',...].map(key => <DatePicker key={key} value={selectedDate} onChange={this.handleDateChange(key)} />}
Теперь вы можете создать функцию обработки, способную принимать 2 набора параметров, один для ключа, а другой для события:
handleDateChange = key => date => {
this.setState({ [key]: date });
};
Теперь, используя вычисленные параметры, вы можете динамически устанавливать значение в своем состоянии, не зная заранее, какое из них.