我有一个简单的表单,在加载页面时使用v-show将其隐藏.我想在显示输入后集中注意力.我有一个按钮来调用一个方法,该方法显示表单,并使用以下代码将焦点设置为输入:
this.newQuestion = true; //(Form whit v-show:newQuestion)
this.$refs.questionInput.focus();
问题是表单显示正确,但第一次按下按钮时输入没有聚焦,如果在表单处于工作页面时再次按下该按钮.我想知道有没有办法,谢谢.
我有一个简单的表单,在加载页面时使用v-show将其隐藏.我想在显示输入后集中注意力.我有一个按钮来调用一个方法,该方法显示表单,并使用以下代码将焦点设置为输入:
this.newQuestion = true; //(Form whit v-show:newQuestion)
this.$refs.questionInput.focus();
问题是表单显示正确,但第一次按下按钮时输入没有聚焦,如果在表单处于工作页面时再次按下该按钮.我想知道有没有办法,谢谢.
我以前也遇到过类似的问题,我使用Vue的nextTick
方法强制更新(在您的例子中是focus
),这是在更改一些数据以等待DOM更新后立即使用的方法:
this.$nextTick(() => {
this.$refs.questionInput.focus();
})