Vue.js VUE的focus()方法是否返回控制台错误?如何正确使用它?

Vue.js VUE的focus()方法是否返回控制台错误?如何正确使用它?,vue.js,select,input,focus,Vue.js,Select,Input,Focus,我试图关注表单中的几个元素,但第一个元素尽管已应用,但在控制台返回一个错误。 这是我的模板: 您的选择是: {{item.name} 选择{{this.itemName}的品牌: 选择{this.itemName}的类型: {{brand.name} 你打算用你的电脑做什么 {{itemName}}的? 以下是{this.itemFormInfo.component}的选项: {{option.name} {{option.price.toString.replace.} 这是我的第一个方法 o

我试图关注表单中的几个元素,但第一个元素尽管已应用,但在控制台返回一个错误。 这是我的模板:

您的选择是:

{{item.name}

选择{{this.itemName}的品牌: 选择{this.itemName}的类型: {{brand.name} 你打算用你的电脑做什么 {{itemName}}的? 以下是{this.itemFormInfo.component}的选项: {{option.name} {{option.price.toString.replace.} 这是我的第一个方法

onChangeItemevent{ 让item=event.target.\u值; this.itemName=this.getItemNameitem; 如果this.isItemSelected=true{ this.isItemSelected=false; this.isComponentCompleted=false; this.isLoaderFinished=false; this.itemFormInfo.name= } 此.$refs.item.focus; }, 在我控制第一个输入的函数中,焦点正在工作,但它通过控制台返回以下错误:

此.$refs.item.focus不是VueComponent.onChangeItem上的函数

我看到过一些类似案例的引用,它们在setTimeout中包含引用,或者使用this.$nextTick=>方法,但在我的案例中不起作用

我做错了什么? 一旦我选择了第一个输入的值,我如何专注于下一个选择ref品牌

提前感谢大家的时间和帮助

一旦我选择了第一次输入的值,我如何专注于下一次使用ref品牌选择

您希望将焦点放在品牌上,但onChangeItem处理程序正在调用此项。$refs.item.focus正在尝试将焦点放在项目上。我觉得很奇怪

错误的原因是您正在v-for中使用ref。 :当在具有v-for的元素/组件上使用时,注册的引用将是包含DOM节点或组件实例的数组

因此,访问item ref的正确方法是这样的。$refs.item[index].focus


请注意,现在-您可以在问题讨论中找到一些解决方法…

非常感谢,它非常有效。至于想在品牌中做一个参考,我仍然没有实现它,因为第一个是失败的,我不知道从这里走到哪里。