VUE之表单与v-model

v-model基本用法
Vue 提供了 v-model 指令,用于在表单类元素上双向绑定数据。
例如在输入框上使用时,输入的内容会实时映射到绑定的数据上

<div id="app">
			姓名:<input :type="inputType" :placeholder="placeInfo"  v-model="userName"  />
			<h2>您好:{{userName}}</h2>
</div>

var app = new Vue({
			el:'#app',
			data:{
				inputType:'text',
				placeInfo:'请输入您的姓名',
				userName:''
			}
})

在这里插入图片描述
在这里插入图片描述
在输入框输入的同时,{ { userName } }也会实时将内容渲染在视图中。

对于文本域 textarea 也是同样的用法

在这里插入图片描述
注意事项
①使用 v-model 后,表单控件显示的值只依赖所绑定的数据,不再关心初始化时的 value属性(解耦初始化value属性)
在这里插入图片描述
②对于< textarea> 之间插入的值,不会生效(覆盖文本域)
在这里插入图片描述
③使用 v-model 时,如果是用中文输入法输入中文,一般在没有选定饲组前,也就是在拼音阶段, Vue 是不会更新数据的,当敲下汉字时才会触发更新。如果希望总是实时更新,可以用@input 来替代 v-model ,只不过v-model会在不同的表单上进行智能处理。
在这里插入图片描述
单选框/按钮
(1)单独使用
单选按钮在单独使用时,官方文档标明不需要 v-model ,可以直接使用 v-bind 绑定布尔类型为真选中,为否时不选
但不推荐使用v-bind进行绑定,建议用 v-model 配合 value 使用。
在这里插入图片描述
(2)组合使用
如果是组合使用来实现互斥选择效果。
在这里插入图片描述
数据 profession值与单选按钮的 value 值一致时,就会选中该项

复选框/多选按钮
复选框也分单独使用和组合使用,不过用法稍与单选不同。
(1)单独使用
复选框单独使用时,是用 v-model来绑定一个布尔值。(注意:虽然v-bind绑定后的效果也一样,但只是效果一样,数据并未发生改动)
在这里插入图片描述
因为v-bind绑定单个多选按钮无法实现数据驱动,所以单独使用复选框时,语法指令为v-model
在这里插入图片描述
对上面案例进行修改调整
在这里插入图片描述
此时在勾选时,数据status值变为了true, label 渲染的内容也会更新

(2)组合使用
组合使用时,也是v-model与value 一起,多个勾选框都绑定到同一个数组类型的数据,value的值在数组当中,就会选中这一项。这一过程是双向的,在勾选时value 的值也会自动 push这个数组中,示例代码如下
在这里插入图片描述
Vue实现全选与全不选1

利用vue的双向数据绑定v-model命令,当勾选时,checkbox的value值会自动push到所绑定的数组checkData中去,即结合value和v-model。
在这里插入图片描述
Vue实现全选与全不选2

可以通过vue对input的特殊方式v-model来实现对应数据的绑定,同样也可以通过这种方式实现购物车全选与全不选的效果
在这里插入图片描述
下拉选择列表
选择列表就是下拉选择器,也是常见的表单控件,同样也分为单选和多选两种方式
单选:
在这里插入图片描述
多选:
给添加属性 multiple 就可以多选了, 此时v-model 绑定的是一个数组。与复选框用法类似,多选:按住 Ctrl+点击 即可
在这里插入图片描述
动态下拉选择列表
在业务中,经常用 v-for 动态输出,value和text 也是用 v-bind 来动态输出的
在这里插入图片描述
虽然用选择列表控件可以很简单地完成下拉选择的需求,但是在实际业务中反而不常用。
因为它的样式依赖平台和浏览器,无法统一,不太美观,功能受限,如不支持搜索。
常见的解决方案是用 div或ul 模拟个类似的控件。

表单输入绑定修饰符
(1).lazy延迟修饰符
在默认情况下,v-model 在每次 input 事件触发后将输入框的值与数据进行同步,可以添加 lazy 修饰符,从而转变为使用 change 事件进行同步:
在这里插入图片描述
(2).number数字修饰符
这通常很有用,因为即使在 type=“number” 时,HTML 输入元素的值也总会返回字符串。如果想自动将用户的输入值转为数值类型,可以给 v-model 添加 number 修饰符
在这里插入图片描述
(3)过滤空白修饰符
给 v-model 添加 trim 修饰符,可以自动过滤用户输入的首尾空白字符
在这里插入图片描述
这就是VUE之表单与v-model的分享,如有问题请联系小编!

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值