Material-ui: Как программно вызвать фокус () в поле выбора?

Созданный на 16 нояб. 2017  ·  3Комментарии  ·  Источник: mui-org/material-ui


В моих формах приложений кнопка ввода используется для перехода к указанным полям для ускорения работы на клавиатуре с десятью клавишами. При нажатии Enter мы выполняем поиск в DOM и запускаем focus () для следующего элемента. Это отлично работает с текстовыми полями, но я не могу понять, как это сделать в поле выбора. Я могу получить каждый из элементов DOM, составляющих структуру Select, но запуск focus () на любом уровне ничего не дает.
Примечание: я могу получить ссылку на элемент с помощью inputRef в select, чтобы мы не могли пройти по DOM, но это по-прежнему не дает результатов.
Заранее благодарим вас за любые рекомендации!

  • [x] Я искал проблемы в этом репозитории и считаю, что это не дубликат.

Ожидаемое поведение


Выбор становится сфокусированным (но не открывается), когда focus () запускается вручную. Ожидайте того же поведения, что и при ударена предыдущем элементе.

Текущее поведение


Запуск node.focus () ничего не делает и не запускает ни один элемент в выбранной структуре DOM.

Шаги по воспроизведению (для ошибок)


https://codesandbox.io/s/m43qqyo2zy

  1. Выберите первое текстовое поле.
  2. Нажмите клавишу Enter.
  3. Обратите внимание, что второе текстовое поле выделено FTW.
  4. Снова нажмите клавишу Enter.
  5. Ничего не произошло.

Контекст

Ваше окружение

| Технология | Версия |
| -------------- | --------- |
| Материал-UI | 1.0.0-beta.21 |
| React | 16.1.0 |
| браузер | Chrome 62 |
| и т.д | |

question

Самый полезный комментарий

Если кто-то наткнется здесь на аналогичную проблему: это работает: https://stackoverflow.com/questions/47353384/how-to-programmatically-trigger-focus-on-material-ui-select-field

Все 3 Комментарий

@zachariahtimothy Я не уверен, что это проблема MUI. Похоже, вам нужно очистить форму. Перейдите к Stack Overflow, чтобы узнать, как использовать библиотеку. Ура! 😄

@ m2mathew Я понимаю, о чем вы говорите, я задам вопрос о переполнении стека.
Я считаю, что если MUI select нельзя рассматривать как элемент собственной формы с точки зрения событий, это будет проблемой с библиотекой. Я попробовал это с родным флагом, который работал, так что это меня поможет, просто у него нет той красоты, которую я желаю, как переопределенный выбор :).
Спасибо за ответ и отличную библиотеку!

Если кто-то наткнется здесь на аналогичную проблему: это работает: https://stackoverflow.com/questions/47353384/how-to-programmatically-trigger-focus-on-material-ui-select-field

Была ли эта страница полезной?
0 / 5 - 0 рейтинги