Javascript 这是$refs[(“p”索引)]。焦点不是一个函数
我想在单击时将Javascript 这是$refs[(“p”索引)]。焦点不是一个函数,javascript,vue.js,vuejs2,vue-component,Javascript,Vue.js,Vuejs2,Vue Component,我想在单击时将div转换为输入框,以便可以编辑帖子(在循环中呈现) 这是帖子上的按钮: <a @click="setFocusEdit(index)" v-if="isAuthor(post)" href="#" >Edit Me</a> 方法: setFocusEdit(index) { console.log('focusing on', index); this.$refs['p' + index].focus(); }, 但我得到了这
div
转换为输入框,以便可以编辑帖子(在循环中呈现)
这是帖子上的按钮:
<a @click="setFocusEdit(index)" v-if="isAuthor(post)" href="#" >Edit Me</a>
方法:
setFocusEdit(index) {
console.log('focusing on', index);
this.$refs['p' + index].focus();
},
但我得到了这个错误:
Uncaught TypeError: this.$refs[("p" + index)].focus is not a function
如何修复此问题?经过一些调试后,我发现
this.$refs['p'+index]
始终返回一个数组,其中包含一个元素,this.$refs.p0
也返回一个数组,因此要处理此问题,请尝试访问this.$refs['p'+index][0]这样的一个元素。
newvue({
el:“#应用程序”,
数据:函数(){
返回{
职位:[{
标题:“职位1”,
内容:“内容1”
},
{
标题:“职位2”,
内容:“内容2”
}
],
}
},
方法:{
setFocusEdit(索引){
这.$refs['p'+index][0].focus();
}
},
安装的(){
}
})
{{post.content}
控制台中有什么<代码>索引不是未定义的
,对吗?否,控制台中打印的索引值。
Uncaught TypeError: this.$refs[("p" + index)].focus is not a function