Поставить фокус на input
Здраствуйте, подскажите пожалуйста как в vue.js поставить фокус на другой обэкт
Тоесть написать ето на vue.js (код ниже работает)
<input id="first" type="text" onkeyup="if (event.keyCode == 13){foc()}">
<input id="second" type="text" >
<script>
function foc(){
document.getElementById("second").focus();
}
</script>
|
fori,
может сначала дока и гугля?
<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
<div id="el">
<input type="text" @keyup="foc" >
<input type="text" ref="second" >
</div>
<script>
let vue = new Vue({
el: '#el',
data: {
},
methods: {
foc(event) {
if (event.keyCode == 13) this.$refs.second.focus();
}
}
})
</script>
|
Спасибо))
Можно ли пожалуйста спросить о nextTick, К примеру
<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
<div id="vue">
<button @click="foc">show+focus</button>
<input type="text" id="ob" v-show="show">
</div>
<script>
var vue = new Vue({
el: '#vue',
data: {
show:false,
},
methods: {
foc(){
vue.show=!vue.show;
document.getElementById("ob").focus();
//vue.nextTick(()=> {document.getElementById("ob").focus()});
}
}
})
</script>
Ето должно создать обэкт и поставить фокус на инпут, но никак не могу заставить nextTick работать, извините пожалуйста что часто задаю глупые вопросы, самому не получается разобратся(( |
fori,
<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
<div id="vue">
<button @click="foc">show+focus</button>
<input type="text" id="ob" v-show="show" ref="test">
</div>
<script>
var vue = new Vue({
el: '#vue',
data: {
show:false,
},
methods: {
foc(){
(vue.show=!vue.show) && this.$nextTick(() => this.setFocus());
},
setFocus() {
this.$refs.test.focus();
}
}
})
</script>
|
| Часовой пояс GMT +3, время: 04:24. |