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


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最简单的拖拽效果实现代码
Sep 24 Javascript
JS判断不能为空实例代码
Nov 26 Javascript
jQuery checkbox选中问题之prop与attr注意点分析
Nov 15 Javascript
微信小程序 textarea 详解及简单使用方法
Dec 05 Javascript
JavaScript变量作用域_动力节点Java学院整理
Jun 27 Javascript
node.js express中app.param的用法详解
Jul 16 Javascript
在 Node.js 中使用原生 ES 模块方法解析
Sep 19 Javascript
浅谈React Native Flexbox布局(小结)
Jan 08 Javascript
图解javascript作用域链
May 27 Javascript
基于Vue SEO的四种方案(小结)
Jul 01 Javascript
JavaScript单线程和任务队列原理解析
Feb 04 Javascript
element中table高度自适应的实现
Oct 21 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
香妃
2021/03/03 冲泡冲煮
PHP中的命名空间相关概念浅析
2015/01/22 PHP
Symfony2框架学习笔记之表单用法详解
2016/03/18 PHP
PHP PDOStatement::fetchAll讲解
2019/01/31 PHP
javascript 复杂的嵌套环境中输出单引号和双引号
2009/05/26 Javascript
jQuery select操作控制方法小结
2010/05/26 Javascript
javascript相等运算符与等同运算符详细介绍
2013/11/09 Javascript
jQuery中noconflict函数的实现原理分解
2015/02/03 Javascript
js 获取当前web应用的上下文路径实现方法
2016/08/19 Javascript
js的三种继承方式详解
2017/01/21 Javascript
JavaScript-定时器0~9抽奖系统详解(代码)
2017/08/16 Javascript
angularjs实现猜大小功能
2017/10/23 Javascript
layer实现关闭弹出层刷新父界面功能详解
2017/11/15 Javascript
迅速了解一下ES10中Object.fromEntries的用法使用
2019/03/05 Javascript
原生js实现下拉选项卡
2019/11/27 Javascript
vue中移动端调取本地的复制的文本方式
2020/07/18 Javascript
Python正则表达式匹配HTML页面编码
2015/04/08 Python
获取Django项目的全部url方法详解
2017/10/26 Python
好的Python培训机构应该具备哪些条件
2018/05/23 Python
Python 变量的创建过程详解
2019/09/02 Python
Numpy将二维数组添加到空数组的实现
2019/12/05 Python
Python库安装速度过慢解决方案
2020/07/14 Python
pandas统计重复值次数的方法实现
2021/02/20 Python
html5 初试 indexedDB(推荐)
2016/07/21 HTML / CSS
美国复古街头服饰精品店:Need Supply Co.
2017/02/22 全球购物
COACH德国官方网站:纽约现代奢侈品牌,1941年
2018/06/09 全球购物
JPA的优势都有哪些
2013/07/04 面试题
最热门的自我评价
2013/12/30 职场文书
二年级体育教学反思
2014/01/15 职场文书
党员领导干部承诺书
2014/05/28 职场文书
践行三严三实心得体会
2014/10/13 职场文书
2016新年感言
2015/08/03 职场文书
中小学教师继续教育心得体会
2016/01/19 职场文书
新手开公司创业注意事项有哪些?
2019/07/29 职场文书
纯CSS实现hover图片pop-out弹出效果的实例代码
2021/04/16 HTML / CSS
宝塔更新Python及Flask项目的部署
2022/04/11 Python