Można to zrobić, uzyskując dostęp do węzła DOM przycisku strzałki w dół i ręcznie uruchamiając zdarzenie kliknięcia.
Przykład, który działa na Mac Chrome na stronie demo, za pośrednictwem konsoli, po dodaniu pola id a „mySelect” do select elementu DOM pola dla łatwiejszego dostępu:
// 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);
Jeśli to rozwiązanie wpisuje swój kod , musisz sprawdzić pełny krzyżowy przeglądarka/platforma, aby utworzyć odpowiednie wydarzenie, i wybrać element strzałki (querySelector
nie jest dostępny wszędzie, chociaż it's quite OK now)
Patrząc na połączony dokument, nie ma tam nic do automatycznego ustaw ostrość lub otwórz listę wyboru. W rzeczywistości został zgłoszony jako problem na GitHub więcej niż jeden raz. https://github.com/callemall/material-ui/issues?utf8=%E2%9C%93&q=selectfield+focus+is%3Aopen –
Dziękuję David. W rzeczywistości istnieje wiele otwartych kwestii. Miałem nadzieję, że istnieje jakiś triksowy sposób naśladowania zdarzenia kliknięcia, gdy zdarzy się on w trybie onocus. Jeśli mysz może je otworzyć, dlaczego nie mogę zrobić tego syntetycznie? Moje próby się nie powiodły ... – heorling
Domyślam się, że będziesz musiał poczekać i zobaczyć, czy to zachowanie kończy się w Wybierz pola w gałęzi @next. Cytuj ze swojej ROADMAP.md: "Nowe funkcje oparte na v0.16.x mają niski priorytet i najprawdopodobniej nie zostaną sprawdzone ani scalone" – Dani