WeChatアプレットは、チェックボックスをすべて選択し、すべて選択解除することを実現します

チェックボックスすべて選択解除すべて選択解除

無線のデフォルトサイズを変更する

/* 单选钮样式 */
radio {
    
    
  transform:scale(0.5);
}

これは死んだデータです

エフェクト画像

ここに画像の説明を挿入

コード

wxml

<view class="memberList">
        <view class="allSelect_box" bindtap='selectAll'>
                <checkbox class="checkbox" checked="{
    
    {selectilall}}" />
                <text class="allSelect">全选</text>
        </view>
        <view wx:for="{
    
    {list}}" wx:key="index">
                <view class="member_box" data-index="{
    
    {index}}" data-name="{
    
    {item.id}}" bindtap='select'>
                        <checkbox class="checkbox" checked="{
    
    {item.checked}}" />
                        <image src="../../img/0.1.jpg" mode="widthFix" class="avatar"></image>
                        <view>
                                <view class="applicant_name">汪小涵 <text>

                                                管理员</text> </view>
                                <view class="approval_state">总监</view>
                        </view>
                </view>
        </view>
</view>

wxss

.memberList{
    
    
  background:#fff;
  padding:0 35rpx 0 28rpx;
 }
 .allSelect_box{
    
    
  line-height:90rpx;
  border-bottom:1rpx solid #F5F5F5;
 }
 .checkbox{
    
    
  transform: scale(0.7,0.7);
 }
 .member_box .checkbox{
    
    
  margin-top: 15rpx;
 }
 checkbox .wx-checkbox-input.wx-checkbox-input-checked {
    
    
  color:#fff;
  background: #6669e3;
  border-color:#6669e3;
 }
 .allSelect{
    
    
  margin-left:15rpx;
  vertical-align:middle;
 }
 .member_box{
    
    
  padding-bottom:30rpx;
  display: flex;
  border-bottom:2rpx solid #EBEBEB;
  padding:20rpx 0 20rpx 0;
 }
 .avatar{
    
    
  width:100rpx;
  margin-left:15rpx;
 }
 .applicant_name{
    
    
  font-size:34rpx;
  padding:0 0 15rpx 30rpx;
 }
 .applicant_name text{
    
    
  color:#fff;
  background:#6669e3;
  border-radius:10rpx;
  margin-left:15rpx;
 }
 .approval_state{
    
    
  color:#8D8D8D;
  font-size:28rpx;
  padding-left: 30rpx;
 }

js

Page({
    
    

  /**
   * 页面的初始数据
   */
    data: {
    
    
      list: [{
    
    
          id: 1,
          name: 1,
          checked: false
        },
        {
    
    
          id: 2,
          name: 2,
          checked: false
        },
        {
    
    
          id: 3,
          name: 3,
          checked: false
        },
        {
    
    
          id: 4,
          name: 4,
          checked: false
        },
      ],
      selectilall: false
    },
  //单选
  select: function (e) {
    
    
    let selectValue = e.currentTarget.dataset.name
    let index = e.currentTarget.dataset.index;
    let list = this.data.list
    let newli = 'list[' + index + '].checked';
    this.setData({
    
    
      [newli]: !this.data.list[index].checked
    })
    let num = 0;
    for (var i = 0; i < this.data.list.length; i++) {
    
    
      if (this.data.list[i].checked) {
    
    
        num++;
      }
    }
    if (num == this.data.list.length) {
    
    
      this.setData({
    
    
        selectilall: true
      })
    } else {
    
    
      this.setData({
    
    
        selectilall: false
      })
    }
  },
  //全选,取消全选
  selectAll: function (e) {
    
    
    let list = this.data.list;
    let selectilall = this.data.selectilall;
    if (selectilall == false) {
    
    
      for (let i = 0; i < list.length; i++) {
    
    
        let newli = 'list[' + i + '].checked';
        this.setData({
    
    
          [newli]: true,
          selectilall: true
        })
      }
    } else {
    
    
      for (let i = 0; i < list.length; i++) {
    
    
        let newli = 'list[' + i + '].checked';
        this.setData({
    
    
          [newli]: false,
          selectilall: false
        })
      }
    }
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    
    

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
    
    

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    
    

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {
    
    

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
    
    

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
    
    

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    
    

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {
    
    

  }
})

元のリンクhttps://www.jb51.net/article/178991.htm

ループデータ表示です

ここに画像の説明を挿入

wxml

<view class="scroll">
<scroll-view scroll-x="true">
<checkbox-group class="table" >
<view class="tr">
<view class="th">
<checkbox value="all" bindtap="selectall" />全选
</view>
<view class="th">运号</view>
<view class="th">V</view>
<view class="th">运商</view>
<view class="th">返单</view>
<view class="th">日期</view>
</view>
<view class="tr" wx:for="{
    
    {listData}}" wx:key="">
<view class="td">
<checkbox value="{
    
    {item.code}}" checked="{
    
    {item.checked}}" />
</view>
<view class="td" value="{
    
    {item.text}}">{
    
    {
    
    item.code}}</view>
<view class="td" value="{
    
    {item.text}}">{
    
    {
    
    item.text}}</view>
<view class="td" value="{
    
    {item.typ}}">{
    
    {
    
    item.typ}}</view>
<view class="td" value="{
    
    {item.typ}}">{
    
    {
    
    item.typ}}</view>
<view class="td" value="{
    
    {item.typ}}">{
    
    {
    
    item.typ}}</view>
</view>
</checkbox-group>
</scroll-view>
</view>



wxss

.table{
    
    
  background-color: #fff;
  border:1px solid #dadada;
  width:1200rpx;
  margin-left:0rpx;
  }
  .tr{
    
    
  background-color: #dadada;
  white-space: nowrap;
  width:100%;
  display: flex;
  text-align: center;
  justify-content: center;
  }
  .th{
    
    
  background-color: #fff999;
  text-align: center;
  justify-content: center;
  width: 100%;
  border-bottom: 1px solid #dadada;
  border-right: 1px solid #dadada;
  }
  .td{
    
    
  background-color: #fff;
  text-align: center;
  justify-content: center;
  width: 100%;
  border-bottom: 1px solid #dadada;
  border-right: 1px solid #dadada;
  }
  
  

js

Page({
    
    

  /**
   * 页面的初始数据
   */
  data: {
    
    
    select_all: false,
    listData: [{
    
    
        code: "111",
        text: "text1",
        typ: "type1",
      },
      {
    
    
        code: "021",
        text: "text2",
        typ: "type2",
      },
      {
    
    
        code: "111",
        text: "text1",
        typ: "type3",
      }
    ]
  },
  selectall: function () {
    
     //全选与反全选
    var that = this;
    for (let i = 0; i < that.data.listData.length; i++) {
    
    
      that.data.listData[i].checked = (!that.data.select_all)
    }
    that.setData({
    
    
      listData: that.data.listData,
      select_all: (!that.data.select_all)
    })
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    
    
    
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
    
    
    
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    
    
    
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {
    
    
    
  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
    
    
    
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
    
    
    
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    
    
    
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {
    
    
    
  }
})

おすすめ

転載: blog.csdn.net/m0_53912016/article/details/115181488