当前位置 : 主页 > 网络编程 > JavaScript >

vue input组件如何设置失焦与聚焦

来源:互联网 收集:自由互联 发布时间:2023-02-01
目录 vue input组件设置失焦与聚焦 设置聚焦与失焦 回车键让input失焦让下一个input聚焦 代码如下 vue input组件设置失焦与聚焦 我在iview-admin这个后台管理系统中,使用input输入框失焦时触
目录
  • vue input组件设置失焦与聚焦
    • 设置聚焦与失焦
  • 回车键让input失焦让下一个input聚焦
    • 代码如下

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框实现方式相同

以上为个人经验,希望能给大家一个参考,也希望大家多多支持自由互联。

上一篇:Vue3中使用defineCustomElement定义组件详解
下一篇:没有了
网友评论