Как использовать атрибуты данных с 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: атрибуты, примененные к элементу ввода.

Другие вопросы по тегам