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框自动获得焦点的更多相关文章

  1. 如何让input框自动获得焦点

    项目中有个需求  一个用扫描枪输入的input框 为了避免每次都需要人为点击 需要做成当打开页面时该input框自动获取焦点 <input type="text" name= ...

  2. winform窗口打开后文本框的默认焦点设置

    原文:http://blog.csdn.net/kongwei521/article/details/6871411 winform窗口打开后文本框的默认焦点设置,进入窗口后默认聚焦到某个文本框,两种 ...

  3. input固定定位后,当input框获取到焦点时,会离开手机软键盘的解决方法

    前些天做页面时候遇到这样一个问题,将input框用position:fixed固定定位在最底部的时候,当Input获取焦点的时候,input框离开了手机软键盘,而不是吸附在软键盘上,效果如下图: 找了 ...

  4. input框自动填充内容背景颜色为黄色解决方法

    谷歌浏览器input自动填充内容,背景色会是黄色,想改的话: input:-webkit-autofill { box-shadow: 0 0 0px 1000px white inset;} 这种方 ...

  5. 解决input框自动填充为黄色的问题

    题原因:input 框会自动填充一个颜色  如图所示  解决方法 :通过动画去延迟背景颜色的显示  代码如下 input:-webkit-autofill, textarea:-webkit-auto ...

  6. 主动触发input框的失去焦点事件,阻止输入法跳出

    今天遇到个问题,我在手机做一个选择生日的功能,但是当我点击input框时,事件选择插件和输入法都弹出来了,很丑,然后就想阻止输入法弹出来, 网上一个方法是:在input框的获取焦点事件里,主动触发失去 ...

  7. input 框自动检测输入是否为数字

    最近做一个公众号,我这个菜鸡不得不学习很多东西,谁让老师要我一个人做这个项目呢? 好,进入正题,因为菜,所以很菜,但是百度很厉害啊,谁让我不好意思问老师,而且我也觉得问这么小的问题,太难以启齿.. 因 ...

  8. input输入框自动填充的问题

    火狐浏览器打开页面,input可以自动填充历史输入值,现在想无论input类型是type='text'还是'password'都禁止自动填充,因为我写的页面在input='text'时先检查是否有输入 ...

  9. android启动activity文本框不获得焦点

    在开发中,常常会碰到这种情况,打开一个activity后,第一个文本框自动获得焦点,同时会弹出软键盘输入框,这样很影响用户体验,现在来看解决方法. 我们先来看看为什么会出现上述情况,原因很简单,文本框 ...

  10. vue学习(十七) 使用自定义指令 使文本框获得鼠标焦点

    需求:当我们进入某个页面,页面中的第一个input会自动获得焦点 光标闪烁,代表可输入 <div id="app"> //v-focus 是自定义的 <input ...

随机推荐

  1. [OpenCV实战]35 使用Tesseract和OpenCV实现文本识别

    目录 1 如何在Ubuntu和windows上安装Tesseract 1.1 在ubuntu18.04上安装Tesseract4 1.2 在Ubuntu 14.04,16.04,17.04,17.10 ...

  2. [seaborn] seaborn学习笔记3-直方图Histogramplot

    文章目录 3 直方图Histogramplot 1. 基本直方图的绘制 Basic histogram 2. 数据分布与密度信息显示 Control rug and density on seabor ...

  3. mybatis-config.xml 说明

    mybatis-config.xml 说明 文件结构 MyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置和属性信息. 配置文档的顶层结构如下: configuration(配置) ...

  4. 消息队列(Message Query)的初学习

    消息队列(Message Query)的初学习   摘要:本篇笔记主要记录了对于消息队列概念的初次学习.消息队列的基础知识. 目录 消息队列(Message Query)的初学习 1.何为消息? 2. ...

  5. Linux的串口非标准波特率设置更改

    用的是全志的R528 SDK,Linux内核是5.4,新增加一个250000的非标准波特率 参考网络大神文档,实践并记录宝贵的经验. 方法: 1.修改内核的/include/uapi/asm-gene ...

  6. Solon Java Framework v1.12.2 发布

    一个更现代感的 Java 应用开发框架:更快.更小.更自由.没有 Spring,没有 Servlet,没有 JavaEE:独立的轻量生态.主框架仅 0.1 MB. @Controller public ...

  7. 使用SQL获取当前周别,oracle日期处理

    使用SQL获取当前周别 select to_char(sysdate,'yyyyww') from dual  select to_char(to_date('20200611','yyyymmdd' ...

  8. Odoo View 常用技巧

    隐藏Field <field name="currency_id" invisible="True"/> <field name=" ...

  9. IO多路复用完全解析

    上一篇文章以近乎啰嗦的方式详细描述了BIO与非阻塞IO的各种细节.如果各位还没有读过这篇文章,强烈建议先阅读一下,然后再来看本篇,因为逻辑关系是层层递进的. 1. 多路复用的诞生 非阻塞IO使用一个线 ...

  10. Sublime下运行javascript,并带彩色提示

    最近和各种同事磨合技术,自闭中~ 首先让JS在Sublime上运行 去下载Node.js并且安装 安装完成后 cmd 输入 node -v 查看安装是否成功. 接着打开Sublime - 工具 > ...