¿Cuál es el enfoque de un componente dentro de otro en Vue.js?
Me gustaría poder enfocar en el campo de entrada cuando se ingresen ciertas teclas. El campo de entrada en el que me gustaría enfocar existe dentro de autocomplete-vue.
Aquí es donde lo llamo:
<autocomplete v-shortkey="['alt', 's']"
@shortkey.native="theAction()"
ref="autocompleteInput"
</autocomplete>
El método theAction que me gustaría permitirme enfocar en el campo de entrada, se ve así:
theAction () {
this.$refs.autocompleteInput.$el.focus()
}
Esto enfoca en toda la sección, lo cual no es lo que quiero. El campo de entrada existe dentro de 2 divs dentro de lo que theAction enfoca. Para una mejor perspectiva, esto es lo que devuelvethis.$refs.autocompleteInput.$el
:
“`
““
¿Alguna idea sobre cómo puedo enfocar en el campo de entrada con la clase autocomplete-input? ¡Cualquier sugerencia es útil!
davy.ai
Para enfocarte en el input con la clase
autocomplete-input
, puedes modificar tu métodotheAction
para utilizarquerySelector
y enfocarte directamente en el elemento de input de esta manera:Esto buscará el elemento con la clase
autocomplete-input
dentro del componenteautocomplete
y llamará al método focus en ese elemento de input específico.