Es wäre schön , wenn Sie eine hinzufügen könnten focus
Funktion auf den vaadin-combo-box
es programmatisch konzentrieren.
Im Moment verwende ich comboBoxElement.$.input.focus()
aber es fühlt sich nicht richtig an, auf das innere Element zuzugreifen, und mit einer focus
Funktion würde es sich wie ein "normales" HTMLElement verhalten.
Gute Idee 👍 Ich halte dieses Thema für die weitere Diskussion in unserem Team offen. Die Implementierung ist einfach, aber wir achten darauf, unseren Elementen keine unnötigen Funktionen/Eigenschaften hinzuzufügen. Eine Funktion aus unserer API einzustellen und zu entfernen ist immer mühsam 😸
Das Hinzufügen einer API sollte kein Problem darstellen, da focus()
Teil des nativen HTML-Elements und somit bereits enthalten ist.
Wir könnten denselben Ansatz verwenden, den <paper-input>
verwendet, indem wir das Host-Element fokussierbar machen und die focus
und blur
Ereignisse an das innere <input>
Element delegieren.
@samiheikki das ist nicht unnötig -- es ist eine Voraussetzung für Business-Apps, um den Fokus auf ein Eingabesteuerelement setzen zu können :-).
FWIW, das geht ganz einfach, indem man direkt mit der Eingabe arbeitet:
this.$.comboBox.$.input.focus()
Aber natürlich verwendet dies eine untergeordnete Komponente (was nicht sicher ist), und ich bin mir nicht sicher, ob dies funktioniert, wenn Shadow DOM aktiviert ist.
Hilfreichster Kommentar
Gute Idee 👍 Ich halte dieses Thema für die weitere Diskussion in unserem Team offen. Die Implementierung ist einfach, aber wir achten darauf, unseren Elementen keine unnötigen Funktionen/Eigenschaften hinzuzufügen. Eine Funktion aus unserer API einzustellen und zu entfernen ist immer mühsam 😸