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