v-model基本用法
单选框按钮
复选框按钮
下拉选择列表
表单绑定修饰符

v-model基本用法

用它们可以完成数据的录入、校验、提交等。 Vue 提供了 v-model 指令,用于在表单类元素上双向绑定数据。

vue defineModel 默认unknown 问题 vue的model_数据


注意:

①使用 v-model 后,表单控件显示的值只依赖所绑定的数据,不再关心初始化时的 value属性(解耦初始化value属性)

vue defineModel 默认unknown 问题 vue的model_表单_02


②对于< textarea> 之间插入的值,不会生效(覆盖文本域)

vue defineModel 默认unknown 问题 vue的model_修饰符_03


③使用 v-model 时,如果是用中文输入法输入中文,一般在没有选定饲组前,也就是在拼音阶段, Vue 是不会更新数据的,当敲下汉字时才会触发更新。如果希望总是实时更新,可以用@input 来替代 v-model ,只不过v-model会在不同的表单上进行智能处理。

vue defineModel 默认unknown 问题 vue的model_数据_04

单选框按钮

单选按钮在单独使用时,官方文档标明不需要 v-model ,可以直接使用 v-bind 绑定布尔类型为真选中,为否时不选。

但不推荐使用v-bind进行绑定,建议用 v-model 配合 value 使用。

vue defineModel 默认unknown 问题 vue的model_表单_05


组合使用

vue defineModel 默认unknown 问题 vue的model_表单_06

复选框按钮

复选框单独使用时,是用 v-model来绑定一个布尔值。(注意:虽然v-bind绑定后的效果也一样,但只是效果一样,数据并未发生改动)

vue defineModel 默认unknown 问题 vue的model_表单_07


单独使用

因为v-bind绑定单个多选按钮无法实现数据驱动,所以单独使用复选框时,语法指令为v-model

vue defineModel 默认unknown 问题 vue的model_表单_08


组合使用

组合使用时,也是v-model与value 一起,多个勾选框都绑定到同一个数组类型的数据,value的值在数组当中,就会选中这一项

vue defineModel 默认unknown 问题 vue的model_数据_09


Vue实现全选与全不选1

利用vue的双向数据绑定v-model命令,当勾选时,checkbox的value值会自动push到所绑定的数组checkData中去,即结合value和v-model。

vue defineModel 默认unknown 问题 vue的model_表单_10


vue defineModel 默认unknown 问题 vue的model_修饰符_11

下拉选择列表

选择列表就是下拉选择器,也是常见的表单控件,同样也分为单选和多选两种方式。

单选:

vue defineModel 默认unknown 问题 vue的model_数据_12


多选:

给添加属性 multiple 就可以多选了, 此时v-model 绑定的是一个数组。与复选框用法类似,多选:按住Ctrl+点击即可。

vue defineModel 默认unknown 问题 vue的model_修饰符_13


动态下拉选择列表

在业务中,经常用 v-for 动态输出,value和text 也是用 v-bind 来动态输出的

vue defineModel 默认unknown 问题 vue的model_修饰符_14

表单绑定修饰符

.lazy延迟修饰符

在默认情况下,v-model 在每次 input 事件触发后将输入框的值与数据进行同步 (除了上述输入法组合文字时)。可以添加 lazy 修饰符,从而转变为使用 change 事件进行同步:

vue defineModel 默认unknown 问题 vue的model_修饰符_15


.number数字修饰符

这通常很有用,因为即使在 type=“number” 时,HTML 输入元素的值也总会返回字符串。如果想自动将用户的输入值转为数值类型,可以给 v-model 添加 number 修饰符

vue defineModel 默认unknown 问题 vue的model_修饰符_16


过滤空白修饰符

给 v-model 添加 trim 修饰符,可以自动过滤用户输入的首尾空白字符

vue defineModel 默认unknown 问题 vue的model_修饰符_17