vue input组件设置失焦与聚焦
我在iview-admin这个后台管理系统中,使用input输入框失焦时触发了一个axios请求,但是,当我从其它页面,携带input输入框的数据进入该页面,进行数据填充的时候发现,数据填充没有问题,但是因为没有触及到失焦事件,所以axios请求没有触发
把失焦事件改为@on-change事件也触发不了,所以我就在接收到其他页面的数据的同时,手动执行了聚焦与失焦事件,代码如下:
这是input输入框的内容:
<Input ref="input" v-model="inputData" @on-blur="inputChange" placeholder="请输入..."/>
设置聚焦与失焦
this.$refs.input.focus(); // 聚焦 this.inputData = '111'; // 给输入框赋值 this.$refs.input.blur(); // 失焦
当然,在vue给出的官网文档中,也可以指定聚焦的位置,例如:
this.$refs.input.focus({ cursor: 'start' // 聚焦在文本的开始位置 });
所以,请具体需求,具体使用。
回车键让input失焦让下一个input聚焦
最近项目中需要一个功能就是在一个input中输入完成后按下回车键自动跳转到下一个input框,让下一个input框自动聚焦
代码如下
**html** <el-form ref="form" :model="form" > <el-form-item label-width="10px"> <el-input v-model="form.username" placeholder="请输入姓名" @blur="nextInput()" @keyup.enter.native="nextInput($event)" ></el-input> </el-form-item> <el-form-item label-width="10px"> <el-input ref="password" v-model="form.password" placeholder="请输入密码" ></el-input> </el-form-item> </el-form>
**js** data(){ form:{ username:'', password:'' } } methods:{ nextInput (event) { if (event) { event.target.blur() this.$refs.password.focus() } }, }
这样就可以进行失焦聚焦,如果有多个input框实现方式相同
以上为个人经验,希望能给大家一个参考,也希望大家多多支持本站。