微信小程序自定義復選框

本文實例為大傢分享瞭微信小程序自定義復選框的具體代碼,供大傢參考,具體內容如下

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
 }

以上就是本文的全部內容,希望對大傢的學習有所幫助,也希望大傢多多支持WalkonNet。

推薦閱讀: