Seria bom se você pudesse adicionar uma função focus
a vaadin-combo-box
para focalizá-la programaticamente.
Por enquanto, estou usando comboBoxElement.$.input.focus()
mas não parece certo acessar o elemento interno e com uma função focus
ele se comportaria como um HTMLElement "normal".
Boa ideia 👍 Vou manter este problema aberto para uma discussão mais aprofundada em nossa equipe. A implementação é simples, mas temos o cuidado de não adicionar funções / propriedades desnecessárias aos nossos elementos. Descontinuar e remover uma função de nossa API é sempre um incômodo 😸
Adicionar API não deve ser um problema, pois focus()
faz parte do elemento HTML nativo e, portanto, já está incluído.
Poderíamos usar a mesma abordagem que <paper-input>
usa tornando o elemento host focalizável e delegando os eventos focus
e blur
para o elemento interno <input>
.
@samiheikki, isso não é desnecessário - é um requisito para os aplicativos de negócios serem capazes de definir o foco em um controle de entrada :-).
FWIW, isso é fácil de fazer trabalhando diretamente com a entrada:
this.$.comboBox.$.input.focus()
Mas é claro que isso está usando um componente filho (que não é seguro), e não tenho certeza se isso funciona quando o DOM sombra está habilitado.
Comentários muito úteis
Boa ideia 👍 Vou manter este problema aberto para uma discussão mais aprofundada em nossa equipe. A implementação é simples, mas temos o cuidado de não adicionar funções / propriedades desnecessárias aos nossos elementos. Descontinuar e remover uma função de nossa API é sempre um incômodo 😸