微信小程序全选多选效果实现代码解析


Posted in Javascript onJanuary 21, 2020

这篇文章主要介绍了微信小程序全选多选效果实现代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

效果图:

微信小程序全选多选效果实现代码解析

wxml代码:

<view class="memberList">
 <view class="allSelect_box" bindtap='selectAll'>
  <checkbox class="checkbox" checked="{{selectilall}}"/>
  <text class="allSelect">全选</text>
 </view>
 <view wx:for="{{list}}">
  <view class="member_box" data-index="{{index}}" data-name="{{item.id}}" bindtap='select'>
   <checkbox class="checkbox" checked="{{item.checked}}"/>
   <image src="../../assets/img/user_img.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;
 border-radius:50%;
 margin-left:15rpx;
}
.applicant_name{
 font-size:34rpx;
 padding:0 0 15rpx 30rpx;
}
.applicant_name text{
 color:#fff;
 background:#6669e3;
 font-size:28rpx;
 padding:5rpx 10rpx;
 border-radius:10rpx;
 margin-left:15rpx;
}
.approval_state{
 color:#8D8D8D;
 font-size:28rpx;
 padding-left: 30rpx;
}

js代码:

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
    })
   }
  }
 }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JS图片浏览组件PhotoLook的公开属性方法介绍和进阶实例代码
Nov 09 Javascript
jQuery封装的tab选项卡插件分享
Jun 16 Javascript
AngularJs bootstrap搭载前台框架——js控制部分
Sep 01 Javascript
BootStrap 实现各种样式的进度条效果
Dec 07 Javascript
JS jQuery使用正则表达式去空字符的简单实现代码
May 20 jQuery
微信小程序 同步请求授权的详解
Aug 04 Javascript
jQuery实现鼠标响应式淘宝动画效果示例
Feb 13 jQuery
解决vue 更改计算属性后select选中值不更改的问题
Mar 02 Javascript
Vue写一个简单的倒计时按钮功能
Apr 20 Javascript
Vue实现数据表格合并列rowspan效果
Nov 30 Javascript
JS面向对象编程实现的拖拽功能案例详解
Mar 03 Javascript
微信小程序实现简单购物车功能
Dec 30 Javascript
js判断在哪个浏览器打开项目的方法
Jan 21 #Javascript
浅谈Vue.use到底是什么鬼
Jan 21 #Javascript
ant-design-vue 快速避坑指南(推荐)
Jan 21 #Javascript
Ant Design Vue 添加区分中英文的长度校验功能
Jan 21 #Javascript
python虚拟环境 virtualenv的简单使用
Jan 21 #Javascript
详解vue中v-bind:style效果的自定义指令
Jan 21 #Javascript
vue.js iview打包上线后字体图标不显示解决办法
Jan 20 #Javascript
You might like
PHP 已经成熟
2006/12/04 PHP
一周让你学会PHP 不错的学习资料
2009/02/06 PHP
PHP得到某段时间区间的时间戳 php定时任务
2012/04/12 PHP
完美解决:Apache启动问题―(OS 10022)提供了一个无效的参数
2013/06/08 PHP
Laravel 修改验证异常的响应格式实例代码详解
2020/05/25 PHP
javascript 读取xml,写入xml 实现代码
2009/07/10 Javascript
JavaScript 三种创建对象的方法
2009/10/16 Javascript
JavaScript Event学习第七章 事件属性
2010/02/07 Javascript
jquery网页元素拖拽插件效果及实现
2013/08/05 Javascript
js实现省市联动效果的简单实例
2014/02/10 Javascript
jquery.form.js用法之清空form的方法
2014/03/07 Javascript
js拼接html注意问题示例探讨
2014/07/14 Javascript
全面了解JavaScript对象进阶
2016/07/19 Javascript
jQuery Ajax传值到Servlet出现乱码问题的解决方法
2016/10/09 Javascript
微信小程序中单位rpx和rem的使用
2016/12/06 Javascript
微信小程序开发之大转盘 仿天猫超市抽奖实例
2016/12/08 Javascript
jQuery仿写百度百科的目录树
2017/01/03 Javascript
jQuery仿移动端支付宝键盘的实现代码
2018/08/15 jQuery
vue 优化CDN加速的方法示例
2018/09/19 Javascript
用Cordova打包Vue项目的方法步骤
2019/02/02 Javascript
Typescript 中的 interface 和 type 到底有什么区别详解
2019/06/18 Javascript
[05:46]2018完美盛典-《同梦共竞》
2018/12/17 DOTA
Python Web框架Flask中使用七牛云存储实例
2015/02/08 Python
Python微信操控itchat的方法
2019/05/31 Python
python ChainMap的使用和说明详解
2019/06/11 Python
Python检查图片是否损坏及图片类型是否正确过程详解
2019/09/30 Python
浅谈Python xlwings 读取Excel文件的正确姿势
2021/02/26 Python
CSS3的RGBA中关于整数和百分比值的转换
2015/08/04 HTML / CSS
精选鞋类、服装和配饰的全球领先目的地:Bodega
2021/02/27 全球购物
新员工欢迎词
2014/01/12 职场文书
讲文明树新风公益广告宣传方案
2014/02/25 职场文书
大学生创业项目方案
2014/03/08 职场文书
创先争优活动心得体会
2014/09/04 职场文书
JS数组的常用方法整理
2021/03/31 Javascript
win11高清晰音频管理器在哪里?win11找不到高清晰音频管理器解决办法
2022/04/08 数码科技
mybatis 获取更新记录的id
2022/05/20 Java/Android