亲宝软件园·资讯

展开

微信小程序复选框

asteriaV 人气:0

1、效果 

2、wxml

<checkbox-group bindchange="checkboxChange" class="checkbox-group">
     <view wx:for="{{checkboxArr}}" wx:key="index" class="padding-xs">
            <label class="{{item.checked?'checkbox checked':'checkbox'}}" bindtap='checkbox' data-index="{{index}}">
       <checkbox value="{{item.name}}" checked="{{item.checked}}"/>{{item.name}}
            </label>
     </view>
</checkbox-group>

3、js

data:{
 
 checkboxArr: [
  {
   checked: false,//是否选中
   id: "1",//部门能id
   name: "部门1",
  },
  {
   checked: false,//是否选中
   id: "2",//部门能id
   name: "部门2",
  },
  {
   checked: false,//是否选中
   id: "3",//部门能id
   name: "部门3",
  },
  {
   checked: false,//是否选中
   id: "4",//部门能id
   name: "部门4",
  },
  {
   checked: false,//是否选中
   id: "5",//部门能id
   name: "部门5",
  },
  {
   checked: false,//是否选中
   id: "6",//部门能id
   name: "部门6",
  },]
},
 checkbox: function (e) {
  var index = e.currentTarget.dataset.index;//获取当前点击的下标
  var checkboxArr = this.data.checkboxArr;//选项集合
  checkboxArr[index].checked = !checkboxArr[index].checked;//改变当前选中的checked值
 
  this.setData({
   checkboxArr: checkboxArr
  });
 },
 checkboxChange: function (e) {
  var checkValue = e.detail.value;
  console.log(e.detail.value)
  this.setData({
   checkValue: checkValue
  });
 },

4、wxss 局部样式

 .checkbox-group{
 display: flex;
 flex-wrap: wrap;
 }
 .checkbox{
  display: flex;
  align-items: center;
  padding: 10rpx;
  color: #aaaaaa;
  border: 2rpx solid #CECECE;
  border-radius: 5rpx;
 justify-content: center;
 margin-right: 20rpx;
 }
.checked{
  color: #3eace2;
  background: rgba(49,165,253,0.08);
  border: 1rpx solid #3eace2;
 }
 .checkbox-group checkbox{
  display: none
 }

加载全部内容

相关教程
猜你喜欢
用户评论