Как использовать атрибуты данных с Material Design React?
Недавно я начал использовать Material Design React, но я только что столкнулся с этим data-someField распространяет значение на карту набора данных.
Пример:
<Input data-role=‘someValue’ onChange={this.onChange} />
onChange = e =>{
const role = e.target.dataset.role
const role2 = e.currentTarget.dataset.role
}
Обе роли в обработчике onChange не определены. Этого не произойдет, если я изменю тег Input на обычный ввод HTML.
Есть идеи, почему Material Design не допускает атрибуты данных или есть какие-то обходные пути?
Заранее спасибо!
--- После предложения @Springer я попытался использовать inputprops, но заметил, что доступен только атрибут name, остальные не определены.
``` <Input
value={role.name}
disabled={!this.state.editMode}
inputProps={{
name: 'MyName',
role: 'MyRole',
dataset: {
degree: 'Teniente'
},
data: {
roleId: role.uuid
},
dataRoleId: {
roleId: role.uuid
}
}}
disableUnderline={true}
data-role-id={role.uuid}
role={role}
onChange={this.onChangeExistingRole}
/> ```
1 ответ
Решение
В реакционном материале API они используют inputProps
передать извлекаемый объект (реквизит, данные..)
см док
inputProps: атрибуты, примененные к элементу ввода.