gpt4 book ai didi

javascript - 视觉 : Set focus to dynamic input box

转载 作者:行者123 更新时间:2023-12-03 06:43:56 24 4
gpt4 key购买 nike

我有一个表单,用户可以在其中填写一个电子邮件地址,然后单击它旁边的加号按钮来创建一个新地址。这些输入框是通过遍历数组生成的。当用户单击 + 图标时,一个新条目将被推送到该数组。

现在新文本框生成正常,但我希望光标聚焦在这个文本框上。

enter image description here

最佳答案

@ramakant-mishra 告诉您必须使用 this.$refs,但您还需要在输入元素上动态添加 ref 属性。让我告诉你:

new Vue({
el: '#app',
data: {
emails:[]
},
methods: {
add: function (e) {
let j = this.emails.push("")
this.$nextTick(() => {
this.$refs[`email${j - 1}`][0].focus()
})
}
}
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id="app">
<div v-for="(email, i) in emails" :key="i">
<input v-model="email" :ref="`email${i}`" />
</div>
<button @click="add">add</button>
</div>

只是不要忘记使用 $nextTick 因为新元素还没有在模板上呈现

关于javascript - 视觉 : Set focus to dynamic input box,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59749325/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com