Вы можете сделать это, обратившись к узлу DOM кнопки со стрелкой вниз и вручную вызывая событие клика на нем.
Пример, который работает на Mac Chrome на демо-сайте, с помощью консоли, после добавления поля Идентификатор «mySelect» для выбора поля DOM элемента для более легкого доступа:
// Initialize a click event (mouseup seem more cross browser)
var evt = document.createEvent('MouseEvents');
evt.initEvent('mouseup', true, false);
// The down arrow elment is the only SVG element un the select
var elm = document.querySelector('#mySelect svg')
// Dispatch the event (reusable)
elm.dispatchEvent(evt);
Если это решение подходит код , вам нужно будет проверить полный способ перекрестного браузера/платформы, чтобы создать соответствующее событие, и выбрать элемент стрелки (querySelector
недоступен повсюду, хотя it's quite OK now)
Посмотрев на связанный документ, там нет ничего автоматического сфокусироваться или открыть список выбора. На самом деле он неоднократно поднимался как проблема на GitHub. https://github.com/callemall/material-ui/issues?utf8=%E2%9C%93&q=selectfield+focus+is%3Aopen –
Спасибо, Дэвид. На самом деле есть много открытых проблем. Я надеялся, что есть какой-то триксичный способ эмулировать событие click, когда происходит onDocus. Если мышь может открыть его, почему я не могу сделать это синтетически? Мои попытки потерпели неудачу ... – heorling
Я предполагаю, что вам придется подождать и посмотреть, попадает ли это поведение в поля «Выбрать» ветки @next. Цитата из их ROADMAP.md: «Новые функции, основанные на v0.16.x, имеют низкий приоритет и, скорее всего, не будут рассмотрены и не объединены» – Dani