复选框
bindchange checkbox-group中选中项发生改变时触发 change 事件,detail = {value:[选中的checkbox的value的数组]}
wxml
<view class="top grid">
<label class="title col-0">喜欢的食物</label>
<checkbox-group bindchange="checkboxChange">
<label class="checkbox" wx:for="{{foodList}}" wx:key="value">
<checkbox class="td" value="{{item.value}}" checked="{{item.checked}}" />{{item.value}}
</label>
</checkbox-group>
</view>
js
data:{
foodList: [
{
name: 'hamburger',
value: '汉堡'
},
{
name: 'RiceWithShreddedPorkAndGreenPepper',
value: '青椒肉丝盖饭'
},
{
name: 'milk',
value: '牛奶'
},
{
name: 'awesome',
value: '奥利给'
},
{
name: 'SichuanPepper',
value: '花椒'
},
{
name: 'Apple',
value: '苹果'
}
],
},
checkboxChange: function (e) {
console.log('checkbox发生change事件,携带value值为:', e.detail.value)
},
wxss
/* 未选中的 背景样式 */
checkbox .wx-checkbox-input{
border-radius: 50%;/* 圆角 */
width: 46rpx; /* 背景的宽 */
height: 46rpx; /* 背景的高 */
}
/* 选中后的 背景样式 (红色背景 无边框 可根据UI需求自己修改) */
checkbox .wx-checkbox-input.wx-checkbox-input-checked{
border: 1rpx solid #FF783B;
background: #FF783B;
}
/* 选中后的 对勾样式 (白色对勾 可根据UI需求自己修改) */
checkbox .wx-checkbox-input.wx-checkbox-input-checked::before{
border-radius: 50%;/* 圆角 */
width: 40rpx;/* 选中后对勾大小,不要超过背景的尺寸 */
height: 40rpx;/* 选中后对勾大小,不要超过背景的尺寸 */
line-height: 40rpx;
text-align: center;
font-size:30rpx; /* 对勾大小 30rpx */
color:#fff; /* 对勾颜色 白色 */
background: transparent;
transform:translate(-50%, -50%) scale(1);
-webkit-transform:translate(-50%, -50%) scale(1);
}