小程序Checkbox全選

這是我寫的第一篇文章,如有不對,請你們指正,多謝!
這篇文章主要講小程序的全選。接觸小程序沒有過久,我想每實現一個功能就在這裏記錄一次,以此鞏固。
其實實現很簡單,在每一個選擇集合中加入一個isCheck字段,默認是false(未選中),而後wxml頁面中循環list時,給checkbox加一個屬性:checked='{{item.isCheck}}';
接下來是js,在全選按鈕上綁定事件:checkAll。js中首選要獲得全部的list(var list = that.data.Data);而後for循環list,在循環中讓每個isCheck取反;以後,在循環外setData咱們上文聲明的list:that.setData({Data:list}),意思就是把咱們操做過的list從新賦給Data,頁面會從新渲染;廢話很少說,如下是代碼:小程序

wxml:
    <view class='atte-title'>
      <view class='odb-title-left'>選擇參會人</view>
      <checkbox value='全選' bindtap='checkAll'></checkbox>
    </view>
    <checkbox-group bindchange='change'>
      <block wx:for='{{Data}}' wx:key>
        <checkbox value='{{item.name}}' checked='{{item.isCheck}}' class='check-item' style='background:#fff;'>
          <view class='check-box'>
            <view class='atte-ava'>
              <image src='{{item.Image}}'></image>
            </view>
            <view class='atte-name'>{{item.name}}</view>
            <view class='atte-point'>
              <image src='/images/Articles/point.png'></image>
            </view>
            <view class='atte-pro'>{{item.partyBranchJobTypeName}}</view>
          </view>
        </checkbox>
      </block>
    </checkbox-group>
// 全選
  checkAll: function (e) {
    var that = this
    console.log(that.data.Data)
    var list = that.data.Data  
    for (var i = 0; i < list.length;++i){
      list[i].isCheck = !list[i].isCheck || false;  //list[i].isCheck默認是false,這裏是取反
    }
    that.setData({
      Data:list,         //將取反後的集合setData到咱們的Data
    })
  },

小白一枚,水平不好,請多指教;this

相關文章
相關標籤/搜索