欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 时评 > Vue中input框自动聚焦

Vue中input框自动聚焦

2025/6/15 10:10:56 来源:https://blog.csdn.net/qq_44182424/article/details/142566100  浏览:    关键词:Vue中input框自动聚焦

在Vue中input自动聚焦的思路:

  • 给需要聚焦的input设置ref
        <el-inputv-model="loginForm.username"ref="userNameInput"name="username"type="text"auto-complete="on"placeholder="username"@keyup.enter.native="handleLogin"/>
  • 创建一个聚焦的方法

this.$nextTick()将回调延迟到下次 DOM 更新循环之后执行。在修改数据之后立即使用它,然后等待 DOM 更新

    inputFocus: function() {this.$nextTick(x => {this.$refs.userNameInput.focus()})},
  • 在create方法中调用
  created() {this.inputFocus()},

这样每次加载登录页面的时候,就会自动对input框进行聚焦了,然后只需要按下回车,即可登录到后台系统~

因为我们都知道,vue的钩子函数created,在调用的时候,Dom还没有进行任何渲染,如果我们直接执行

this.$refs.userNameInput.focus()

这个代码的话,是没有效果的,因此需要使用this.$nextTick(),将它延迟到下次Dom渲染的时候执行

但是如果在mounted钩子函数执行的话,因为当mounted钩子函数执行的时候,Dom树已经渲染完毕了,那么就可以直接获取对应的dom进行渲染,也就不需要使用this.$nextTick()方法了,因此还可以直接这样写

  mounted() {this.$refs.userNameInput.focus()},

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词