Vue之表单与v-model

课程大纲
(1)v-model基本用法
(2)单选框/按钮
(3)复选框/多选按钮
(4)下拉选择列表
(5)表单输入绑定修饰符
v-model基本用法
表单控件在实际业务较为常见,比如单选、多选、下拉菜单、输入框等,用他们可以完成数据的录入、校验、提交等。Vue提供了v-model指令,用于在表单类元素上双向绑定数据
例如:在输入框上使用时,输入的内容会实时映射到绑定的数据上
Vue之表单与v-model_第1张图片
对于文本域textarea也是同样的用法
Vue之表单与v-model_第2张图片
注意事项
注意:(1)使用v-model后,表单控件显示的值只依赖所绑定的数据,不再关心初始化时的value属性(解耦初始化value属性)
在这里插入图片描述
(2)对于textarea之间插入的值,不会生效(覆盖文本域)
Vue之表单与v-model_第3张图片
(3)使用v-model时,如果是用中文输入法输入中文,一般在没有选定词组前,也就是在拼音阶段,Vue是不会更新数据的,当敲下汉子时才会触发更新。如果希望总是实时更新,可以用@input来代替v-model,只不过v-model会在不同的表单上进行智能处理。
Vue之表单与v-model_第4张图片单选框/按钮
(1)单独使用
官方文档标明不需要v-model,可以直接使用v-bind绑定布尔类型为真选中,为否时不选
但不推荐使用v-bind进行绑定,建议用v-model配合value使用
Vue之表单与v-model_第5张图片
(2)组合使用
如果是组合使用来实现互斥选择效果
Vue之表单与v-model_第6张图片
复选框/多选按钮
(1)单独使用
复选框单独使用时,是用v-model来绑定一个布尔值。
因为v-bind绑定单个多选框无法实现数据驱动,所以单独使用复选框时,语法指令为v-model
Vue之表单与v-model_第7张图片
对上面案例进行修改调整
Vue之表单与v-model_第8张图片
此时在勾选时,数据status值变为了true,label渲染的内容也会更新。
(2)组合使用
组合使用,也是v-model与value一起
Vue之表单与v-model_第9张图片
Vue实现全选与全不选1
利用Vue的双向数据绑定v-model命令,当勾选时,checkbox的value值会自动push到所绑定的数组checkData中去,即结合value和v-model。
Vue之表单与v-model_第10张图片
Vue实现全选与全不选2
可以通过vue对input的特殊方式v-model来实现对应数据的绑定,同样也可以通过这种方式实现购物车全选与全不选的效果
Vue之表单与v-model_第11张图片
下拉选择列表
选择列表就是下拉选择器,也是常见的表单控件,同样也分为单选和多选两种方式
单选:
Vue之表单与v-model_第12张图片
多选:给selected添加属性multiple就可以多选了,此时v-model绑定的是个数组。与复选框用法类似,多选:按住Ctrl+点击即可。
Vue之表单与v-model_第13张图片
动态下拉选择列表
option经常用v-for动态输入,value和text也是用v-bind来动态输出的。例如:
Vue之表单与v-model_第14张图片

表单输入绑定修饰符
(1).lazy延迟修饰符
可以添加lazy修饰符,从而转变为使用change事件进行同步。

Vue之表单与v-model_第15张图片
(2).number数字修饰符
因为即使在type=“number”时,HTML输入元素的值也总会返回字符串。如果想自动将用户的输入值转为数值类型,可以给v-model天剑number修饰符
Vue之表单与v-model_第16张图片
(3).trim 过滤空白修饰符
给v-model添加trim修饰符,可以自动过滤用户输入的收尾空白字符
Vue之表单与v-model_第17张图片

你可能感兴趣的:(Vue之表单与v-model)