当前位置:首页 > VUE

vue实现input失去焦点

2026-02-22 19:25:28VUE

实现方法

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

vue实现input失去焦点

<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 事件(失去焦点时触发)后同步。

vue实现input失去焦点

<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
分享给朋友:

相关文章

vue实现pie

vue实现pie

Vue 实现饼图 在 Vue 中实现饼图通常可以通过第三方图表库(如 ECharts、Chart.js 或 Highcharts)来完成。以下是使用 ECharts 和 Chart.js 的两种常见方…

vue实现cs

vue实现cs

Vue 实现 CS(Client-Side)渲染的常见方法 Vue.js 是一个用于构建用户界面的渐进式框架,默认采用客户端渲染(CSR)。以下是几种常见的实现方式: 使用 Vue CLI 创建项目…

vue 实现ztree

vue 实现ztree

在Vue中实现类似ZTree的功能,可以通过集成第三方库或自定义组件完成。以下是两种常见方法: 使用vue-tree组件 vue-tree是一个轻量级的Vue树形组件,支持复选框、懒加载等功能,适合…

vue实现Pop

vue实现Pop

Vue 实现 Popover 组件的方法 使用 Vue 内置指令 v-show/v-if 和事件监听 通过 Vue 的指令和事件绑定实现基础的 Popover 功能。定义一个布尔值控制 Popover…

vue实现插件

vue实现插件

Vue 插件实现方法 Vue 插件通常用于为 Vue 应用添加全局功能或共享功能。以下是实现 Vue 插件的核心步骤: 插件基本结构 Vue 插件需要暴露一个 install 方法,该方法接收 Vu…

vue实现循环

vue实现循环

Vue 实现循环的方法 在 Vue 中,可以通过 v-for 指令实现循环渲染列表或对象。以下是几种常见的用法: 遍历数组 使用 v-for 遍历数组时,可以同时获取当前项和索引: <ul&…