当前位置:首页 > VUE

vue怎么实现input绑定

2026-01-21 08:54:50VUE

实现 Vue 中 input 绑定的方法

使用 v-model 指令实现双向绑定

v-model 是 Vue 提供的语法糖,用于实现表单元素与数据的双向绑定。它会根据输入框类型自动选取正确的方式更新数据。

<template>
  <input v-model="message" placeholder="输入内容">
  <p>输入的内容是: {{ message }}</p>
</template>

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

手动实现双向绑定(理解原理)

可以通过 v-bind 绑定 value 属性,再通过 v-on 监听 input 事件手动更新数据。

<template>
  <input 
    :value="message" 
    @input="message = $event.target.value"
    placeholder="手动绑定"
  >
</template>

处理修饰符

Vue 为 v-model 提供了多个修饰符来处理特定需求:

<!-- 输入时自动去除首尾空格 -->
<input v-model.trim="msg">

<!-- 将输入转为数字类型 -->
<input v-model.number="age" type="number">

<!-- 在 change 事件而非 input 事件后更新 -->
<input v-model.lazy="msg">

自定义组件中的 v-model

在自定义组件中实现 v-model,需要定义 model 选项并处理相应事件:

<template>
  <custom-input v-model="searchText"></custom-input>
</template>

<script>
// 子组件
export default {
  props: ['value'],
  model: {
    prop: 'value',
    event: 'input'
  },
  methods: {
    updateValue(value) {
      this.$emit('input', value)
    }
  }
}
</script>

多选框绑定

对于多选框,v-model 会绑定到数组:

<input type="checkbox" v-model="checkedNames" value="Jack">
<input type="checkbox" v-model="checkedNames" value="John">
<p>选中的名字: {{ checkedNames }}</p>

单选按钮绑定

单选按钮绑定到同一个变量即可实现互斥选择:

<input type="radio" v-model="picked" value="One">
<input type="radio" v-model="picked" value="Two">
<p>选择的值: {{ picked }}</p>

下拉选择框绑定

select 元素绑定到变量会自动匹配 option 的 value:

vue怎么实现input绑定

<select v-model="selected">
  <option disabled value="">请选择</option>
  <option>A</option>
  <option>B</option>
</select>
<p>选择的值: {{ selected }}</p>

标签: 绑定vue
分享给朋友:

相关文章

vue computed实现

vue computed实现

计算属性的基本用法 在Vue中,计算属性通过computed选项定义,用于声明依赖于其他属性的动态值。计算属性基于它们的依赖进行缓存,只有依赖发生变化时才会重新计算。 new Vue({ dat…

vue实现答辩

vue实现答辩

Vue 实现答辩系统的关键步骤 项目初始化与配置 使用 Vue CLI 或 Vite 创建项目,安装 Vue Router 管理路由,Pinia/Vuex 进行状态管理。配置 ESLint 和 Pre…

vue 实现长按

vue 实现长按

实现长按功能的基本思路 在Vue中实现长按功能,通常需要监听元素的mousedown或touchstart事件,启动一个计时器。当用户按住元素超过设定的时间阈值时,触发长按回调函数。如果在时间阈值内触…

vue实现模糊

vue实现模糊

Vue实现模糊搜索的方法 在Vue中实现模糊搜索功能通常需要结合输入框和列表渲染,通过监听输入内容动态过滤数据。以下是几种常见实现方式: 使用计算属性实现 计算属性适合处理需要响应式更新的搜索逻辑:…

vue工序实现

vue工序实现

Vue 工序实现方法 在Vue中实现工序(或流程)功能,通常涉及状态管理、组件通信和动态渲染。以下是几种常见方法: 使用动态组件 通过Vue的<component :is="currentCo…

vue实现listview

vue实现listview

Vue 实现 ListView 的方法 基础列表渲染 使用 v-for 指令可以轻松实现基础列表渲染。在 Vue 中,v-for 用于遍历数组或对象,生成动态列表。 <template>…