每次我通过使用类似这样的路由器对象推送组件来渲染组件时,我都在努力使其正常this.$router.push('/Home/mypath');
工作为索引。基本上,我将索引值传递给输入文本元素的ref ,该元素位于组件的v-for循环内,所以在mounted()
,我有这样的东西
mounted() {
this.$nextTick(() =>
{
this.$refs.newInp[index].focus();
});
}
但即使我传递了 1 或 2 的值,它仍然专注于第一个输入元素。当我查看控制台日志时,它会在控制台上显示此错误。
TypeError:无法读取
此行上未定义指向的属性“0”this.$refs.newInp[index].focus();
获取 v-for 中数据的示例代码
async GetContentDetails() {
let testRes =
await axios.get('myUrl/api', {
params: {
ContentId: this.$cookie.get('OpV-ContId')
}
}).then(res => this.contentItems = res.data)
.then()
.catch(error => console.log(error));
this.testData = testRes;
}
模板:
<div v-for="(contItem, index) in contentItems" :key="contItem.commentId">
<textarea class="reply-commented" ref="newInp"></textarea>
</div>
如何解决此类问题?解决方案是什么?谢谢。