vue3 打开页面input框自动获得焦点
1、需要聚焦的el-input输入框设置ref值: ref="getfcous"
<el-input v-model="workorder" ref="getfocus" :clearable="true" @keyup.enter.native="fill()" placeholder="请扫码或输入"/>
2、在mounted生命周期使用this.$nextTick设置自动聚焦:
mounted(){
// 页面渲染完成时自动聚焦到用户名输入框,ref="getfocus"
this.$nextTick(() => {
this.$refs.getfocus.focus();
})
},
=============================================================================================
此处表单使用element-plus框架中的表单组件。
制作简单版的登录表单。
2个输入框:用户名username,密码password;1个登录按钮。
表单中双向绑定:
data中设置对象user来获取并保存表单中输入的数据:user:{username:'',password:''}。
el-form标签: :model="user"
el-input输入框: v-model="user.username"和v-model="user.password"
加载页面时输入框自动聚焦:
1. 需要聚焦的el-input输入框设置ref值: ref="unameInput" (unameInput为自己任意命名)
2. 在mounted生命周期使用this.$nextTick设置自动聚焦:
mounted(){
// 页面渲染完成时自动聚焦到用户名输入框,ref="unameInput"
this.$nextTick(() => {
this.$refs.unameInput.focus();
})
}
回车自动聚焦下一个输入框:
1. 先在需要聚焦的el-input输入框上设置ref值:ref="pwdInput"。
2. 再用@keyup.enter设置回车自动聚焦:
回车聚焦下一个输入框:@keyup.enter="this.$refs['pwdInput'].focus()"
回车聚焦到登录按钮:@keyup.enter="login('form')"
登录按钮(此处方法login):@click="login('former')"
完整代码:
<template>
<div class="login">
<el-form
label-position="top"
label-width="100px"
:model="user"
style="max-width: 460px"
>
<el-form-item label="用户名:">
<el-input
v-model="user.username"
ref="unameInput"
@keyup.enter="this.$refs['pwdInput'].focus()"/>
</el-form-item>
<el-form-item label="密码">
<el-input type="password"
v-model="user.password"
ref="pwdInput"
@keyup.enter="login('form')"/>
</el-form-item>
<el-button type="primary"
@click="login('former')"
>
登录
</el-button>
</el-form>
</div>
</template> <script>
export default {
name:'login',
data(){
return{
user:{username:'',password:''},
userList:[
{username:'admin',password:'123'},
{username:'11',password:'11'}
]
}
},
mounted(){
// 页面渲染完成时自动聚焦到用户名输入框,ref="unameInput"
this.$nextTick(() => {
this.$refs.unameInput.focus();
})
},
methods:{
// 登录
login(){
try{
this.userList.forEach((u) => {
if(u.username === this.user.username && u.password === this.user.password){
this.$router.push('/');
throw new Error('已匹配')
}
})
}catch(e){
return
};
alert("请输入正确用户名和密码。")
}
}
}
</script> <style>
.login{
/* 表单外容器样式 */
background:rgb(245, 240, 240);
height:320px;
width:450px;
margin:100px auto;
border-radius: 20px;
/* 表单位置水平垂直居中 */
display:flex;
justify-content: center;
align-items: center;
}
</style>
https://www.bilibili.com/read/cv19694317/
vue3 打开页面input框自动获得焦点的更多相关文章
- 如何让input框自动获得焦点
项目中有个需求 一个用扫描枪输入的input框 为了避免每次都需要人为点击 需要做成当打开页面时该input框自动获取焦点 <input type="text" name= ...
- winform窗口打开后文本框的默认焦点设置
原文:http://blog.csdn.net/kongwei521/article/details/6871411 winform窗口打开后文本框的默认焦点设置,进入窗口后默认聚焦到某个文本框,两种 ...
- input固定定位后,当input框获取到焦点时,会离开手机软键盘的解决方法
前些天做页面时候遇到这样一个问题,将input框用position:fixed固定定位在最底部的时候,当Input获取焦点的时候,input框离开了手机软键盘,而不是吸附在软键盘上,效果如下图: 找了 ...
- input框自动填充内容背景颜色为黄色解决方法
谷歌浏览器input自动填充内容,背景色会是黄色,想改的话: input:-webkit-autofill { box-shadow: 0 0 0px 1000px white inset;} 这种方 ...
- 解决input框自动填充为黄色的问题
题原因:input 框会自动填充一个颜色 如图所示 解决方法 :通过动画去延迟背景颜色的显示 代码如下 input:-webkit-autofill, textarea:-webkit-auto ...
- 主动触发input框的失去焦点事件,阻止输入法跳出
今天遇到个问题,我在手机做一个选择生日的功能,但是当我点击input框时,事件选择插件和输入法都弹出来了,很丑,然后就想阻止输入法弹出来, 网上一个方法是:在input框的获取焦点事件里,主动触发失去 ...
- input 框自动检测输入是否为数字
最近做一个公众号,我这个菜鸡不得不学习很多东西,谁让老师要我一个人做这个项目呢? 好,进入正题,因为菜,所以很菜,但是百度很厉害啊,谁让我不好意思问老师,而且我也觉得问这么小的问题,太难以启齿.. 因 ...
- input输入框自动填充的问题
火狐浏览器打开页面,input可以自动填充历史输入值,现在想无论input类型是type='text'还是'password'都禁止自动填充,因为我写的页面在input='text'时先检查是否有输入 ...
- android启动activity文本框不获得焦点
在开发中,常常会碰到这种情况,打开一个activity后,第一个文本框自动获得焦点,同时会弹出软键盘输入框,这样很影响用户体验,现在来看解决方法. 我们先来看看为什么会出现上述情况,原因很简单,文本框 ...
- vue学习(十七) 使用自定义指令 使文本框获得鼠标焦点
需求:当我们进入某个页面,页面中的第一个input会自动获得焦点 光标闪烁,代表可输入 <div id="app"> //v-focus 是自定义的 <input ...
随机推荐
- 2_cookie、session、token、sign
一.关于cookie.session.token.sign 借鉴链接:https://juejin.cn/post/7147913027785293855
- ArcGIS工具 - 批量删除空图层
为了减少数据的冗余,我们经常需将数据库中的空图层(没有任何记录的要素类或表)删除,删除数据本来是一个很简单的操作,但如果数据量大,则需通过程序来处理.例如,删除成百上千个标准分幅DLG数据库中等高线数 ...
- Java基础篇——Gui编程
AWT 抽象窗口工具 组件:按钮(button) 文本域(textarea) 标签(label) 容器(container)... Frame窗口 Frame frame = new Frame( ...
- 如何用 30s 给面试官讲清楚什么是 Token?
引言 前文介绍了 Session-Cookie 的认证过程,简单回顾下基本步骤: 客户端(浏览器)向服务器发送用户名和密码 服务器验证通过后,创建 Session 对象,在 Session 中保存该用 ...
- AtCoder Beginner Contest 282 G - Similar Permutation
套路题 题意 求有多少个 \(1\) 到 \(n\) 的排列满足恰有 \(k\) 对在排列中相邻的数满足前小于后 \(2 \leq n \leq 500, 0 \leq k \leq (n - 1)\ ...
- 刷题笔记——3002.买图书 & 2763.计算(a+b)/c的值
题目1 3002.买图书 代码 while True: try: n,m=map(float,input().strip().split()) if(n==10 and m==1): print('{ ...
- python连接kafka-2.0
import sysimport timeimport osimport jsonimport vertica_pythonimport loggingimport pykafkafrom pykaf ...
- Nacos服务注册原理分析
在分布式服务中,原来的单体服务会被拆分成一个个微服务,服务注册实例到注册中心,服务消费者通过注册中心获取实例列表,直接请求调用服务. 服务是如何注册到注册中心,服务如果挂了,服务是如何检测?带着这些问 ...
- java执行js脚本
@Test public void aa() throws NoSuchMethodException { String regular = "function regular(args1) ...
- springcloud 09 spring cloud gateway01 基本介绍
官网:https://cloud.spring.io/spring-cloud-static/spring-cloud-gateway/2.2.1.RELEASE/reference/html/ 1. ...