当前位置:首页 > 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事件。

vue怎么实现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>

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

vue怎么实现input绑定

<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动态生成选项。

<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实现旋转

vue实现旋转

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

ssh vue 实现

ssh vue 实现

使用SSH连接Vue项目部署的服务器 在Vue项目开发或部署过程中,可能需要通过SSH连接到远程服务器进行配置或维护。以下是实现SSH连接并部署Vue项目的关键步骤: 生成SSH密钥对 在本地终端运…

vue分类实现

vue分类实现

Vue分类实现方法 在Vue中实现分类功能通常涉及数据分组、动态渲染和交互逻辑。以下是几种常见的实现方式: 基于计算属性的分类 通过计算属性对原始数据进行分组处理,适合静态或少量数据分类: com…

vue 实现折叠

vue 实现折叠

Vue 实现折叠功能的方法 在 Vue 中实现折叠功能可以通过多种方式完成,以下是几种常见的实现方法: 使用 v-if 或 v-show 控制显示隐藏 通过绑定一个布尔值变量,结合 v-if 或 v…

vue实现尺子

vue实现尺子

Vue 实现尺子组件 实现一个尺子组件可以通过 Canvas 或纯 CSS 完成。以下是两种常见实现方式: 使用 Canvas 绘制尺子 通过 Canvas 动态绘制刻度线和数字,适合需要高精度或动…

vue实现CRUD

vue实现CRUD

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