const { createApp, onMounted } = Vue;
const app = createApp({})
// Register a global custom directive called `v-focus`
app.directive('focus', {
// When the bound element is mounted into the DOM...
mounted(el) {
// Focus the element
el.focus()
}
})
app.mount('#app')
7条答案
按热度按时间lvjbypge1#
您仍然可以使用Vue 3做同样的事情,但如果您使用组合API,则会有一些不同:
一个二个一个一个
bzzcjhmw2#
如果有人想在Vue3中设置特定元素的自动聚焦,您可以使用VueCustomDirective来实现
hjqgdpho3#
我找到的最简单的答案在这里不见了
rkttyhzu4#
在某些情况下,当输入隐藏在v-显示或v-下时,如果有必要执行nextTick以使焦点工作。
3pmvbmvn5#
另一个常规解决方案是:
第一个月
将在
onMounted
上调用nlejzf6q6#
我试图在加载表单组件时选择一个特定的输入。
上面的例子没有什么用,所以我自己想通了。
这要简单得多,恕我直言。在安装的钩子中添加1个ref标签和1行代码。
在你想关注的项目上放置一个ref标签,这里我将它命名为“formStart”,但是你可以随意命名你的项目。
在
mounted
钩子和focus()
中引用ref标记。brvekthn7#
我使用了@webcu的方法,并添加了tabindex=“0”,这是工作!