Eu tenho um componente, como posso selecionar um de seus elementos?
Estou tentando obter uma entrada que está dentro do modelo deste componente.
Pode haver vários componentes, portanto, o queryselector deve apenas analisar a instância atual do componente.
Vue.component('somecomponent', {
template: '#somecomponent',
props: [...],
...
created: function() {
somevariablehere.querySelector('input').focus();
}
});
desde já, obrigado
javascript
vue.js
Snewedon
fonte
fonte
this.$el
é indefinido até ser montado. Se você quiser inicializar uma variável, faça-o namount()
vuejs 2
v-el:el:uniquename
foi substituído porref="uniqueName"
. O elemento é acessado por meio dethis.$refs.uniqueName
.fonte
ref
atributo funciona em qualquer elemento HTML ou componente Vue. Coisa boa.As respostas não estão deixando isso claro:
Use
this.$refs.someName
, mas, para usá-lo, você deve adicionarref="someName"
o pai .Veja a demonstração abaixo.
$refs
ev-for
Observe que, quando usado em conjunto com
v-for
, othis.$refs.someName
será uma matriz:fonte
No Vue2, esteja ciente de que você pode acessar este. $ Refs.uniqueName somente após montar o componente.
fonte
Vue 2.x
Para informações oficiais:
https://vuejs.org/v2/guide/migration.html#v-el-and-v-ref-replaced
Um exemplo simples:
Em qualquer elemento, você deve adicionar um atributo
ref
com um valor únicoPara direcionar esse elemento, use
this.$refs.foo
fonte
API de composição
A seção de referências do modelo informa como isso foi unificado:
ref="myEl"
;:ref=
com umv-for
const myEl = ref(null)
e exponha-o desetup
A referência carrega o elemento DOM da montagem em diante.
fonte