vue基础(v-model与复选框)

本文介绍了Vue中v-model与复选框的结合使用,包括复选框单独使用时绑定布尔值,以及组合使用时如何与数组进行双向绑定。重点讲解了当v-model对应字符串或数组时,复选框的选中状态及数据变化情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

vue基础(v-model与复选框)

一、复选框单独使用

复选框也分单独使用和组合使用,不过,与单选按钮不同,复选框单独使用时,也是用v-model来绑定一个布尔值,例如:

<div id="app13">
			<input type="checkbox" v-model="checked" id="ch" />
			<label for="ch">复选框的状态{{checked}}</label>
		</div>
		<script type="text/javascript">
			var app12 = new Vue({
				el:'#app13',
				data:{
					checked:true  //这里的v-model对应布尔值
					//checked:'' 这里的v-model对应字符串
				}
			})
		</script>
二、复选框组合使用

复选框组合使用时,也是v-model与value一起,多个勾选都绑定到同一数组类型的数据,value的值在数组当中,就会选中这一项。这一过程是双向的,在勾选时,value的值也会自动push到这个数组中,示例代码如下:

<div id="app14">
			<input type="checkbox" v-model="picked" id="html1" value="html"/>
			<label for="html1">html</label>
			<br>
			<input type="checkbox" v-model="picked" id="css1" value="css">
			<label for="css1">css</label>
			<br>
			<input type="checkbox" v-model="picked" id="js1" value="js">
			<label for="js1">js</label>
			<br>
			
			<p>你的选择是{{picked}}</p>
		</div>
		<script type="text/javascript">
			var app14 = new Vue({
				el:'#app14',
				data:{
					picked:['css']
				}
			})
		</script>

这里的v-model 绑定一个数组,当选中当前项时,该项的value值会自动进入数组中,未选中时会自动从数组中删除。
初始化时,picked数组中初始化了选择了css:
在这里插入图片描述
选择html后:
在这里插入图片描述

总结:

  1. 当v-model对应字符串的时候(比如:picked:’ '),会解析字符串为布尔值,v-model对应有值或者是true,checkbox都会被选中。
  2. 也就是说当多个复选框组合使用时,如果picked:’’->绑定字符串,一旦checked有值,或者为true,全部的复选框都会被选中;
    例子如下:
	<div id="app14">
			<input type="checkbox" v-model="picked" id="html1" value="html"/>
			<label for="html1">html</label>
			<br>
			<input type="checkbox" v-model="picked" id="css1" value="css">
			<label for="css1">css</label>
			<br>
			<input type="checkbox" v-model="picked" id="js1" value="js">
			<label for="js1">js</label>
			<br>
			
			<p>你的选择是{{picked}}</p>
		</div>
		<script type="text/javascript">
			var app14 = new Vue({
				el:'#app14',
				data:{
					// picked:['css']
					picked:'a'
				}
			})
		</script>

在这里插入图片描述

  • 当v-model绑定“数组”时有勾表示已选中,相当于赋值给,相当于有value,v-model对应value。

  • 没有value属性时,点勾相当于将(‘null’)赋值给value,此时v-model绑定的变量的值也是’null’。

  • 有value属性时,点勾相当于将(value)赋值给value,此时v-model绑定的变量的值=该value的值。

  • 注意数据是双向绑定的,所以数组里的值对应着checkbox的value与v-model双向绑定。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值