当前位置:首页 > VUE

vue怎么实现input绑定

2026-02-22 00:21:54VUE

实现双向绑定

在Vue中通过v-model指令实现input元素的双向数据绑定。该指令会自动将输入框的值与Vue实例的数据属性同步。

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

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

修饰符使用

Vue为v-model提供了多个修饰符来处理不同场景下的输入需求。

.lazy修饰符将同步时机从input事件改为change事件

<input v-model.lazy="message">

.number自动将输入值转为数字类型

<input v-model.number="age" type="number">

.trim自动去除用户输入的首尾空白字符

<input v-model.trim="username">

自定义组件绑定

在自定义组件中实现v-model需要定义model选项并处理value属性和input事件。

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

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

自定义组件实现:

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

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

多选框绑定

处理多选框时需要绑定到数组类型数据。

<template>
  <input type="checkbox" v-model="checked" id="checkbox">
  <label for="checkbox">{{ checked }}</label>
</template>

<script>
export default {
  data() {
    return {
      checked: false
    }
  }
}
</script>

多个复选框绑定到同一个数组:

<template>
  <input type="checkbox" v-model="hobbies" value="reading">阅读
  <input type="checkbox" v-model="hobbies" value="sports">运动
  <p>选择的爱好: {{ hobbies }}</p>
</template>

<script>
export default {
  data() {
    return {
      hobbies: []
    }
  }
}
</script>

单选按钮绑定

单选按钮组绑定到同一个数据属性。

<template>
  <input type="radio" v-model="gender" value="male">男
  <input type="radio" v-model="gender" value="female">女
  <p>选择的性别: {{ gender }}</p>
</template>

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

下拉选择框绑定

select元素绑定到数据属性,多选时使用multiple属性。

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

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

多选下拉框:

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

<script>
export default {
  data() {
    return {
      selected: []
    }
  }
}
</script>

动态选项绑定

使用v-for动态生成选项。

vue怎么实现input绑定

<template>
  <select v-model="selected">
    <option v-for="option in options" :value="option.value">
      {{ option.text }}
    </option>
  </select>
</template>

<script>
export default {
  data() {
    return {
      selected: '',
      options: [
        { text: '选项1', value: '1' },
        { text: '选项2', value: '2' }
      ]
    }
  }
}
</script>

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

相关文章

vue datepicker 实现

vue datepicker 实现

实现 Vue Datepicker 的基本方法 在 Vue 项目中实现日期选择功能,可以使用第三方库如 vue-datepicker 或 v-calendar。以下是两种常见实现方式: 安装 vue…

vue实现modal

vue实现modal

Vue 实现 Modal 弹窗组件 使用 Vue 实现 Modal 弹窗组件可以通过多种方式,包括原生 Vue 组件、第三方库或自定义指令。以下是几种常见方法: 原生 Vue 组件实现 创建一个基础…

vue grid实现

vue grid实现

Vue Grid 实现方法 在 Vue 中实现网格布局可以通过多种方式完成,包括使用原生 CSS Grid、第三方组件库或自定义组件。以下是几种常见方法: 使用原生 CSS Grid 通过 Vue…

vue能实现

vue能实现

Vue.js 是一个流行的前端框架,能够实现多种功能。以下是 Vue 能够实现的主要功能和特性: 响应式数据绑定 Vue 的核心特性之一是响应式数据绑定。通过数据驱动视图,当数据发生变化时,视图会自…

vue 实现登录

vue 实现登录

Vue 实现登录功能 创建登录表单组件 在 Vue 项目中创建一个登录表单组件(如 Login.vue),包含用户名和密码输入框以及提交按钮。使用 v-model 实现双向数据绑定。 <tem…

vue watch实现

vue watch实现

在 Vue 中实现 watch 监听数据变化 Vue 的 watch 选项用于监听数据变化并执行相应的回调函数。以下是几种常见的实现方式: 基础用法 export default { data(…