Vue 项目中你可以用 v-model
指令在表单 <input>
、<textarea>
及 <select>
元素上创建双向数据绑定。轻松地实现表单数据收集或绑定,提高了开发效率。它会根据控件类型自动选取正确的方法来更新元素。负责监听用户的输入事件以更新数据,并对一些极端场景进行一些特殊处理。
常用表单元素
元素 | |
---|---|
input[type=*] | 文本输入框 |
textarea | 多行文本 |
radio | 单选按钮 |
checkbox | 复选框 |
select | 选择框 |
注意
注意一:v-model
会忽略所有表单元素的 value
、checked
、selected
特性的初始值而总是将 Vue 实例的数据作为数据来源。直接给元素 value 赋值不会生效的,你应该通过 JavaScript 在组件的 data
选项中声明初始值。
注意二:v-model
在内部使用不同的属性为不同的输入元素并抛出不同的事件,具体体现我们在表单 修饰符小节,给大家说明:
-
text 和 textarea 元素使用
value
属性和input
事件(内部监听 input 事件); -
checkbox 和 radio 使用
checked
属性和change
事件(内部监听 change 事件); -
select 字段将
value
作为 prop 并将change
作为事件(内部监听 change 事件)。说明: change 和 input 区别就是,input 实时更新数据,change 不是实时更新。
单行文本
绑定 v-model
指令,在 data 数据项中声明绑定数据项,可以轻松完成双向数据绑定。
多行文本
使用 v-model
指令,在实例 data 中声明绑定的 message 数据项,即可完成多行文本数据双向绑定。
单选按钮
将单选按钮绑定到同一个 picked,
语法: v-model="picked"
复选框
复选框绑定的是一个布尔值(true or false),同样在复选框元素上使用 v-model
指令,在实例 data 中声明 checked,即可完成复选框数据的双向绑定。
复选框可以是布尔值,toggle 为 true 或 false,当选中时,toggle 为 true,未选中时,toggle 为 false。
- 多个复选框,那么我们就需要把复选框,绑定到同一个数组,方便数据收集。
选择框
在 select 元素上使用 v-model
指令,可以绑定当前选中的 option。
select 标签是绑定 数据项 selected