В моих формах приложений кнопка ввода используется для перехода к указанным полям для ускорения работы на клавиатуре с десятью клавишами. При нажатии Enter мы выполняем поиск в DOM и запускаем focus () для следующего элемента. Это отлично работает с текстовыми полями, но я не могу понять, как это сделать в поле выбора. Я могу получить каждый из элементов DOM, составляющих структуру Select, но запуск focus () на любом уровне ничего не дает.
Примечание: я могу получить ссылку на элемент с помощью inputRef в select, чтобы мы не могли пройти по DOM, но это по-прежнему не дает результатов.
Заранее благодарим вас за любые рекомендации!
Выбор становится сфокусированным (но не открывается), когда focus () запускается вручную. Ожидайте того же поведения, что и при ударе
Запуск node.focus () ничего не делает и не запускает ни один элемент в выбранной структуре DOM.
https://codesandbox.io/s/m43qqyo2zy
| Технология | Версия |
| -------------- | --------- |
| Материал-UI | 1.0.0-beta.21 |
| React | 16.1.0 |
| браузер | Chrome 62 |
| и т.д | |
@zachariahtimothy Я не уверен, что это проблема MUI. Похоже, вам нужно очистить форму. Перейдите к Stack Overflow, чтобы узнать, как использовать библиотеку. Ура! 😄
@ m2mathew Я понимаю, о чем вы говорите, я задам вопрос о переполнении стека.
Я считаю, что если MUI select нельзя рассматривать как элемент собственной формы с точки зрения событий, это будет проблемой с библиотекой. Я попробовал это с родным флагом, который работал, так что это меня поможет, просто у него нет той красоты, которую я желаю, как переопределенный выбор :).
Спасибо за ответ и отличную библиотеку!
Если кто-то наткнется здесь на аналогичную проблему: это работает: https://stackoverflow.com/questions/47353384/how-to-programmatically-trigger-focus-on-material-ui-select-field
Самый полезный комментарий
Если кто-то наткнется здесь на аналогичную проблему: это работает: https://stackoverflow.com/questions/47353384/how-to-programmatically-trigger-focus-on-material-ui-select-field