uniapp-微信小程序 实现多选功能

使用的是uniapp 的checkbox-group   

uniapp-checkboxicon-default.png?t=N7T8https://uniapp.dcloud.net.cn/component/checkbox.html#checkbox-group

HTML部分: checked 是来判断是否选中的 需要绑定一个布尔值 

<checkbox-group @change="checkboxChange($event, findex,item.id)">
	<checkbox class="mycheck" :checked="item.checked" :value="findex" color="#fff" />
</checkbox-group>

JS部分  (如果 e.detail.value.length > 0  则说明被选中了)

			// 复选框
			checkboxChange(e, index, id) {
				// console.log(e,index,id)
				this.$set(this.tasklistArr[index], 'checked', e.detail.value.length > 0)
				if (e.detail.value.length > 0) {
					this.selectedArr.push(id) //添加id到选择的数组中
					if (this.selectedArr.length === this.tasklistArr.length) {
						this.selectAll = true;
					}
					// console.log(this.selectedArr)
				} else {
					this.selectedArr.splice(this.selectedArr.indexOf(id), 1) // 把id从数组中删除
					if (this.selectedArr.length !== this.tasklistArr.length) {
						this.selectAll = false;
					}
					// console.log(this.selectedArr)
				}
				// console.log(this.tasklistArr)
			},
			// 全选
			checkedAll(e) {
				this.selectedArr = []
				if (e.detail.value.length > 0) {
					this.selectAll = true
					this.tasklistArr.map(val => {
						this.$set(val, 'checked', true)
						this.selectedArr.push(val.id)
					})
					console.log(this.selectedArr)
				} else {
					this.selectAll = false
					this.tasklistArr.map(val => {
						this.$set(val, 'checked', false)
					})
					console.log(this.selectedArr)
				}
			},

 CSS部分:CSS必须写在app.vue文件下(如果想更改样式的话)

		//自定义checkbox的样式( 元素使用的时候就是使用类名:mycheck)
		checkbox.mycheck .wx-checkbox-input,
		checkbox.mycheck .uni-checkbox-input {
			width: 36rpx !important;
			height: 36rpx !important;
			background-color: #D8D8D8;
			border-radius: 18rpx;
			border: 2rpx solid #C0C4CC;
		}
		// 选中后的 	样式 
		checkbox.mycheck .uni-checkbox-input-checked,
		checkbox.mycheck .wx-checkbox-input-checked{
			background-color: #12A182;
		}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值