当前位置:首页 > VUE

vue实现change事件

2026-03-29 19:30:40VUE

在 Vue 中实现 change 事件

Vue 中可以通过 v-on@ 语法监听原生 DOM 的 change 事件,适用于表单元素如 <input><select><textarea> 等。

vue实现change事件

基本用法

<template>
  <input type="text" @change="handleChange" />
</template>

<script>
export default {
  methods: {
    handleChange(event) {
      console.log('值变化:', event.target.value);
    }
  }
}
</script>

v-model 结合使用

v-model 默认监听 input 事件,但可以通过修饰符改为监听 change 事件:

vue实现change事件

<template>
  <input type="text" v-model.lazy="textValue" />
</template>

<script>
export default {
  data() {
    return {
      textValue: ''
    }
  }
}
</script>

自定义组件中的 change 事件

自定义组件可以通过 $emit 触发 change 事件:

<template>
  <CustomInput @change="onCustomChange" />
</template>

<script>
export default {
  methods: {
    onCustomChange(value) {
      console.log('自定义组件值变化:', value);
    }
  }
}
</script>

自定义组件内部实现

在自定义组件内,可以通过监听原生 change 事件并向上传递:

<template>
  <input type="text" :value="value" @change="$emit('change', $event.target.value)" />
</template>

<script>
export default {
  props: ['value']
}
</script>

注意事项

  • 原生 change 事件在元素失去焦点时触发,而 input 事件在值每次变化时触发。
  • 对于复选框或单选按钮,change 事件更符合预期行为。
  • 使用 .lazy 修饰符时,v-model 会从监听 input 改为监听 change 事件。

标签: 事件vue
分享给朋友:

相关文章

vue实现一个系统

vue实现一个系统

Vue 系统实现步骤 项目初始化与配置 使用 Vue CLI 或 Vite 创建项目: npm init vue@latest my-system 选择需要的配置(Router、Pinia 等)。…

vue实现旋转

vue实现旋转

Vue 实现旋转效果的方法 在 Vue 中实现旋转效果可以通过多种方式完成,以下是几种常见的方法: 使用 CSS 动画 通过 Vue 的 :class 或 :style 绑定 CSS 动画实现旋转效…

vue实现通知

vue实现通知

Vue 实现通知功能的方法 使用 Vue 实现通知功能可以通过多种方式实现,以下是一些常见的方法: 使用 Vue 的全局事件总线 在 Vue 中可以通过事件总线实现通知功能。创建一个全局事件总线,然…

vue实现签章

vue实现签章

Vue 实现签章功能 签章功能通常包括手写签名、电子印章等。以下是基于 Vue 的实现方法: 使用 canvas 实现手写签名 安装依赖(如需要): npm install signature_p…

vue实现开关

vue实现开关

Vue 实现开关组件的方法 使用原生HTML和Vue数据绑定 通过v-model绑定复选框的checked状态,结合CSS样式实现开关效果: <template> <label…

vue核心实现

vue核心实现

Vue 核心实现原理 Vue.js 的核心实现主要包括响应式系统、虚拟 DOM、模板编译和组件化机制。以下是关键实现原理的详细说明: 响应式系统 Vue 使用 Object.defineProper…