当前位置:首页 > VUE

vue实现input失去焦点

2026-02-22 19:25:28VUE

实现方法

使用 @blur 事件监听器可以轻松实现 input 失去焦点的功能。@blur 是 Vue 中专门用于处理失去焦点事件的指令。

<template>
  <input v-model="inputValue" @blur="handleBlur" />
</template>

<script>
export default {
  data() {
    return {
      inputValue: ''
    }
  },
  methods: {
    handleBlur() {
      console.log('Input 失去焦点')
      // 在这里添加失去焦点后的处理逻辑
    }
  }
}
</script>

使用修饰符

Vue 提供了事件修饰符来简化事件处理。.lazy 修饰符可以将 v-model 的同步行为改为在 change 事件(失去焦点时触发)后同步。

<template>
  <input v-model.lazy="inputValue" />
</template>

自定义指令

对于更复杂的需求,可以创建自定义指令来处理失去焦点事件。

<template>
  <input v-focus-blur />
</template>

<script>
export default {
  directives: {
    'focus-blur': {
      inserted(el) {
        el.addEventListener('blur', () => {
          console.log('自定义指令处理失去焦点')
        })
      }
    }
  }
}
</script>

结合验证功能

失去焦点时进行表单验证是常见需求,可以结合 @blur 和验证逻辑实现。

<template>
  <input 
    v-model="email" 
    @blur="validateEmail" 
    :class="{ 'error': emailError }"
  />
  <p v-if="emailError" class="error-message">请输入有效的邮箱地址</p>
</template>

<script>
export default {
  data() {
    return {
      email: '',
      emailError: false
    }
  },
  methods: {
    validateEmail() {
      const re = /\S+@\S+\.\S+/
      this.emailError = !re.test(this.email)
    }
  }
}
</script>

vue实现input失去焦点

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

相关文章

vue登录业务的实现

vue登录业务的实现

实现登录业务的基本流程 在Vue中实现登录业务通常涉及前端界面设计、表单验证、API请求交互、状态管理以及路由控制等环节。以下是核心实现步骤: 登录表单设计与验证 创建包含用户名和密码输入框的登录组…

vue实现点击

vue实现点击

实现点击事件的基本方法 在Vue中实现点击事件可以通过v-on指令或@简写方式绑定。以下是常见的点击事件绑定方法: <template> <button v-on:click=…

vue实现主页

vue实现主页

Vue 实现主页的基本步骤 创建一个 Vue 主页通常涉及以下几个关键步骤,从项目初始化到页面布局和功能实现。 初始化 Vue 项目 使用 Vue CLI 或 Vite 初始化项目。Vue CLI…

vue 实现直播

vue 实现直播

Vue 实现直播的基本方法 在Vue中实现直播功能,通常需要结合WebRTC、RTMP或HLS等技术。以下是几种常见的实现方式: 使用WebRTC实现实时直播 WebRTC适合低延迟的实时直播场景,…

vue实现grid

vue实现grid

Vue 实现 Grid 布局的方法 使用 CSS Grid 布局 Vue 可以结合 CSS Grid 布局实现灵活的网格系统。CSS Grid 是现代浏览器原生支持的布局方案,无需额外依赖库。 &…

vue筛选实现

vue筛选实现

Vue 筛选实现方法 使用计算属性实现筛选 计算属性是 Vue 中实现数据筛选的常用方式。通过定义一个计算属性,可以根据输入的条件动态过滤数据。 <template> <di…