vue如何实现表单绑定
Vue 表单绑定实现方法
Vue 提供了 v-model 指令实现表单元素的双向数据绑定,适用于多种输入类型。
文本输入框绑定
<input type="text" v-model="message">
<p>输入的内容是: {{ message }}</p>
多行文本绑定
<textarea v-model="message"></textarea>
复选框绑定
单个复选框绑定到布尔值:
<input type="checkbox" v-model="checked">
多个复选框绑定到数组:
<input type="checkbox" value="A" v-model="checkedItems">
<input type="checkbox" value="B" v-model="checkedItems">
单选按钮绑定
<input type="radio" value="A" v-model="picked">
<input type="radio" value="B" v-model="picked">
选择框绑定
单选绑定:

<select v-model="selected">
<option>A</option>
<option>B</option>
</select>
多选绑定(需使用数组):
<select v-model="selected" multiple>
<option>A</option>
<option>B</option>
</select>
修饰符使用
.lazy 修饰符将 input 事件转为 change 事件:
<input v-model.lazy="msg">
.number 自动将输入转为数字:

<input v-model.number="age" type="number">
.trim 自动去除首尾空格:
<input v-model.trim="msg">
自定义组件实现 v-model
在自定义组件中实现:
Vue.component('custom-input', {
props: ['value'],
template: `
<input
:value="value"
@input="$emit('input', $event.target.value)"
>
`
})
使用方式:
<custom-input v-model="searchText"></custom-input>
以上方法覆盖了 Vue 表单绑定的主要场景,开发者可根据具体需求选择合适的绑定方式。






