当前位置:首页 > 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 提供了多个修饰符来处理特定需求:

vue怎么实现input绑定

<!-- 输入时自动去除首尾空格 -->
<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 会绑定到数组:

vue怎么实现input绑定

<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:

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

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

相关文章

vue tag实现

vue tag实现

Vue 标签实现方法 在 Vue 中实现标签功能可以通过多种方式完成,常见场景包括动态标签生成、标签输入框、标签管理等。以下是几种典型实现方案: 动态标签列表渲染 使用 v-for 指令渲染标签数组…

简单实现vue

简单实现vue

Vue 的基本实现 创建一个简单的 Vue 应用需要引入 Vue 库,并编写基本的模板和数据绑定逻辑。 <!DOCTYPE html> <html lang="en"> &l…

vue 实现过滤

vue 实现过滤

Vue 实现过滤的方法 在 Vue 中实现过滤功能可以通过多种方式完成,包括使用计算属性、自定义过滤器、第三方库等。以下是几种常见的实现方法: 使用计算属性进行过滤 计算属性是 Vue 中最常用的过…

vue实现selectable

vue实现selectable

Vue 实现可选择的 Select 组件 在 Vue 中实现一个可选择的 Select 组件,可以通过以下几种方式: 使用原生 HTML select 元素 <template> &…

vue实现select

vue实现select

Vue 实现 Select 组件的方法 在 Vue 中实现 Select 组件可以通过多种方式完成,以下是几种常见的方法: 使用原生 HTML select 元素 原生 HTML 的 <sel…

vue实现CRUD

vue实现CRUD

Vue 实现 CRUD 操作 Vue 提供了响应式数据绑定和组件化开发能力,结合后端 API 可以轻松实现 CRUD(增删改查)功能。以下是基于 Vue 3 和 Axios 的完整实现方案。 安装依…