当前位置:首页 > 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动态生成选项。

<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怎么实现input绑定

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

相关文章

拖拽式编程vue实现

拖拽式编程vue实现

拖拽式编程在 Vue 中的实现方法 使用 HTML5 原生拖放 API Vue 可以结合 HTML5 的拖放 API 实现基础拖拽功能。通过 draggable 属性标记可拖拽元素,监听 dragst…

vue实现微博印象

vue实现微博印象

实现微博印象功能的核心思路 微博印象功能通常指用户发布微博后,系统自动分析文本内容并提取关键词或标签,以可视化形式展示。Vue实现该功能需要结合文本分析、关键词提取和前端渲染技术。 文本分析与关键…

vue实现查询替换

vue实现查询替换

Vue 实现查询替换功能 在 Vue 中实现查询替换功能,可以通过数据绑定和字符串操作方法结合实现。以下是具体实现方式: 基础实现 <template> <div>…

vue实现缩放

vue实现缩放

Vue 实现缩放的方法 在 Vue 中实现缩放功能可以通过多种方式完成,以下是一些常见的方法: 使用 CSS transform 属性 通过 CSS 的 transform: scale() 属性…

vue实现公式

vue实现公式

在Vue中实现公式展示或计算可以通过多种方式实现,以下为具体方法: 使用模板插值与计算属性 若公式较简单,可直接在模板中使用插值表达式或计算属性。例如计算圆的面积: <template&…

vue实现rtc

vue实现rtc

Vue 实现 RTC 的步骤 安装依赖 在 Vue 项目中安装 WebRTC 相关依赖,如 simple-peer 或 peerjs,用于简化 WebRTC 的实现。 运行以下命令安装 simple-…