当前位置:首页 > VUE

vue实现input失去焦点

2026-01-22 04:23:17VUE

实现方法

在Vue中实现input失去焦点(blur)事件,可以通过v-on指令或@简写绑定blur事件。以下是具体实现方式:

模板中绑定事件

vue实现input失去焦点

<template>
  <input 
    v-model="inputValue" 
    @blur="handleBlur" 
    placeholder="输入后失去焦点触发"
  />
</template>

脚本中定义方法

vue实现input失去焦点

<script>
export default {
  data() {
    return {
      inputValue: ''
    }
  },
  methods: {
    handleBlur(event) {
      console.log('输入框失去焦点', event.target.value);
      // 执行其他逻辑
    }
  }
}
</script>

结合校验的场景

若需要在失去焦点时进行表单校验,可以结合计算属性或校验库(如VeeValidate)实现:

<template>
  <input 
    v-model="email" 
    @blur="validateEmail" 
    placeholder="输入邮箱"
  />
  <p v-if="error">{{ error }}</p>
</template>

<script>
export default {
  data() {
    return {
      email: '',
      error: ''
    }
  },
  methods: {
    validateEmail() {
      const regex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
      this.error = regex.test(this.email) ? '' : '邮箱格式错误';
    }
  }
}
</script>

动态绑定多个输入框

通过传递参数处理多个输入框的失焦事件:

<template>
  <input 
    v-for="(item, index) in inputs" 
    :key="index" 
    v-model="item.value" 
    @blur="(e) => handleBlur(index, e)" 
  />
</template>

<script>
export default {
  data() {
    return {
      inputs: [
        { value: '', type: 'username' },
        { value: '', type: 'password' }
      ]
    }
  },
  methods: {
    handleBlur(index, event) {
      console.log(`第${index}个输入框失去焦点`, this.inputs[index].value);
    }
  }
}
</script>

注意事项

  • 若需获取事件对象,可通过$event传递(如内联事件处理)。
  • 移动端可能需要额外处理touch事件来模拟失焦效果。
  • 使用修饰符.prevent可以阻止默认行为(如@blur.prevent)。

标签: 焦点vue
分享给朋友:

相关文章

vue播放倍速怎么实现

vue播放倍速怎么实现

实现Vue播放倍速的方法 在Vue中实现播放倍速功能通常涉及HTML5的<video>元素或第三方播放器库。以下是几种常见实现方式: 使用原生HTML5 video元素 通过ref获取v…

vue实现轮询

vue实现轮询

实现轮询的基本方法 在Vue中实现轮询可以通过setInterval或setTimeout配合递归调用完成。轮询通常用于定期向服务器请求数据更新。 使用setInterval的简单示例: data…

vue页面实现

vue页面实现

Vue 页面实现方法 创建 Vue 组件 使用 Vue 单文件组件(SFC)方式创建页面,文件扩展名为 .vue。一个基本的 Vue 组件包含三个部分:模板(template)、脚本(script)和…

vue实现 toast

vue实现 toast

Vue 实现 Toast 组件 在 Vue 中实现 Toast 组件可以通过多种方式完成,以下是几种常见的方法: 使用全局组件和事件总线 创建一个全局的 Toast 组件,并通过事件总线或 Vue…

vue 实现注册

vue 实现注册

Vue 实现注册功能 注册功能通常包括表单验证、数据提交和用户反馈。以下是实现注册功能的步骤: 1. 创建注册表单组件 在 Vue 项目中创建一个注册表单组件,包含用户名、邮箱、密码等输入字段。…

tabbar 实现 vue

tabbar 实现 vue

在 Vue 中实现 TabBar 功能可以通过多种方式完成,以下是几种常见的方法: 使用 Vue Router 结合自定义组件 创建一个自定义的 TabBar 组件,结合 Vue Router 实现…