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


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 相关文章推荐
GRID拖拽行的实例代码
Jul 18 Javascript
js 设置缓存及获取设置的缓存
May 08 Javascript
使用JavaScript和C#中获得referer
Nov 14 Javascript
理解javascript回调函数
Dec 28 Javascript
JS判断字符串变量是否含有某个字串的实现方法
Jun 03 Javascript
提高Node.js性能的应用技巧分享
Aug 10 Javascript
使用jQuery实现两个div中按钮互换位置的实例代码
Sep 21 jQuery
详解如何在Vue里建立长按指令
Aug 20 Javascript
Angular5中状态管理的实现
Sep 03 Javascript
微信小程序下拉框功能的实例代码
Nov 06 Javascript
vue cli3 调用百度翻译API翻译页面的实现示例
Sep 13 Javascript
vue实现点击按钮切换背景颜色的示例代码
Jun 23 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缓存类分享     php缓存机制
2014/01/22 PHP
php中动态修改ini配置
2014/10/14 PHP
将FCKeditor导入PHP+SMARTY的实现方法
2015/01/15 PHP
WordPress中设置Post Type自定义文章类型的实例教程
2016/05/10 PHP
js的onload事件及初始化按钮事件示例代码
2013/09/25 Javascript
javascript实现简单加载随机色方块
2015/12/25 Javascript
jQuery实现公告新闻自动滚屏效果实例代码
2016/07/14 Javascript
AngularJS动态生成div的ID源码解析
2016/08/29 Javascript
javascript使用递归算法求两个数字组合功能示例
2017/01/03 Javascript
实例详解display:none与visible:hidden的区别
2017/03/30 Javascript
nodejs中sleep功能实现暂停几秒的方法
2017/07/12 NodeJs
完美解决iview 的select下拉框选项错位的问题
2018/03/02 Javascript
JavaScript实现预览本地上传图片功能完整示例
2019/03/08 Javascript
微信小程序 腾讯地图SDK 获取当前地址实现解析
2019/08/12 Javascript
王纯业的Python学习笔记 下载
2007/02/10 Python
基于Python 的进程管理工具supervisor使用指南
2016/09/18 Python
Django中ORM表的创建和增删改查方法示例
2017/11/15 Python
很酷的python表白工具 你喜欢我吗
2019/04/11 Python
Django单元测试工具test client使用详解
2019/08/02 Python
python matplotlib库绘制散点图例题解析
2019/08/10 Python
python 扩展print打印文件路径和当前时间信息的实例代码
2019/10/11 Python
Python 解码Base64 得到码流格式文本实例
2020/01/09 Python
pycharm开发一个简单界面和通用mvc模板(操作方法图解)
2020/05/27 Python
Html5实现文件异步上传功能
2017/05/19 HTML / CSS
微信小程序“圣诞帽”的实现思路详解
2017/12/28 HTML / CSS
卡骆驰英国官网:Crocs英国
2019/08/22 全球购物
swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上
2013/07/06 面试题
在校生汽车维修实习自我鉴定
2013/09/19 职场文书
护理工作感言
2014/01/16 职场文书
一夜的工作教学反思
2014/02/08 职场文书
《难忘的泼水节》教学反思
2014/02/27 职场文书
食品安全责任书
2014/04/15 职场文书
暑期辅导班宣传单
2015/07/14 职场文书
建议书的格式及范文
2015/09/14 职场文书
Python 机器学习工具包SKlearn的安装与使用
2021/05/14 Python
vue实现滑动解锁功能
2022/03/03 Vue.js