微信小程序实现多个按钮toggle功能的实例


Posted in Javascript onJune 13, 2017

微信小程序实现多个按钮toggle功能的实例

如下图所示,实现该按钮toggle功能。

微信小程序实现多个按钮toggle功能的实例

百度上很多都是只设置一个按钮的toggle,所以我现在来稍微总结下:多个按钮如何实现自身的toggle功能。

原理:

1,列表展示的时候,我们会用wx:for 来循环数据,那么我们就会得到相应的当前的第几个数据(即 wx:key="index")

2.在每一个数据里面添加一个toggle的属性,toggle=false  则不展示,

3.设置一个点击方法,获取当前按钮所在的是第几个数据,然后将相应的toggle取反,然后将修改后的数据重新写进去 (我出错的地方就在这)

4. 在wxml页面判断toggle的值是true/false ,然后修改相应的class名

js代码:

Page({ 
 data:{ 
  datas:[] 
 }, 
 onLoad:function(options){ 
  var that=this; 
  API.my_ajax('',function(res){ //用mock.js 设置的模拟数据调用格式 
   // console.log(res); 
   var listData=res.data; 
   for(var i=0;i<listData.length;i++){ 
    listData[i]['toggle']=false; //添加toggle 属性 
   } 
   that.setData({ 
    datas:listData 
   }) 
   // console.log(listData) 
  }) 
 }, 
 showBtn:function(e){ 
  console.log(e);  
  console.log(this);  
 //这两个console.log 可以查看当前方法里面所有的数据,可以查找一下我们所需要的内容是否有在里面,底下的index 就是这样找到的 
 
  var a=e.currentTarget.dataset.index; 
  var b=this.data.datas[a].toggle; 
  this.data.datas[a].toggle=!b; 
 
  //设置之后我们要把数据从新添回去 
  this.setData({ 
   datas:this.data.datas 
  })  
 } 
})

wxml代码:

<!--使用二维码按钮--> 
      <label class="icon_qrcode_wrap" data-index="{{index}}" bindtap="showBtn"> 
        <text>使用规格及二维码</text> 
        <image class="icon_right" src="../../images/up.png"></image> 
      </label> 
 
      <!--弹出二维码样式--> 
      <view class="qrcode_show_wrap {{item.toggle==true ? '':'none'}}"> 
        <view class="qrcode_container"> 
          <!--<image class="qrcode_big_bg"src="../../images/qrcode_black_bg.png"></image>--> 
          <view class="block_qrcode_wrap"> 
            <image class="tiaoma" src="../../images/tiao_code.png"></image> 
            <image class="rqcode" src="../../images/rq_code_img.png"></image> 
            <text style="display:block;" class="fs12">erwr43545</text> 
          </view> 
          <text class="rq_code_title cfff fs13">使用规则</text> 
          <text class="cfff code_txt">就掉粉丝活生生的谁让他和人文就掉粉丝活生生的谁让他和人文就掉粉丝活生生的谁让他和人文</text> 
        </view> 
      </view> 
    </view>

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
传递参数的标准方法(jQuery.ajax)
Nov 19 Javascript
从零开始学习jQuery (四) jQuery中操作元素的属性与样式
Feb 23 Javascript
基于JavaScript实现继承机制之构造函数+原型链混合方式的使用详解
May 07 Javascript
如何在JavaScript中实现私有属性的写类方式(二)
Dec 04 Javascript
jQuery中ajax的使用与缓存问题的解决方法
Dec 19 Javascript
JS数组去重与取重的示例代码
Jan 24 Javascript
JS声明式函数与赋值式函数实例分析
Dec 13 Javascript
微信小程序-获得用户输入内容
Feb 13 Javascript
vue.js评论发布信息可插入QQ表情功能
Aug 08 Javascript
jQuery封装animate.css的实例
Jan 04 jQuery
js中el表达式的使用和非空判断方法
Mar 28 Javascript
基于JavaScript实现猜数字游戏代码实例
Jul 30 Javascript
JavaScript基于扩展String实现替换字符串中index处字符的方法
Jun 13 #Javascript
微信小程序--组件(swiper)详细介绍
Jun 13 #Javascript
Vue.js实现微信过渡动画左右切换效果
Jun 13 #Javascript
JS实现求数组起始项到终止项之和的方法【基于数组扩展函数】
Jun 13 #Javascript
基于pako.js实现gzip的压缩和解压功能示例
Jun 13 #Javascript
基于vue2框架的机器人自动回复mini-project实例代码
Jun 13 #Javascript
深究AngularJS中ng-drag、ng-drop的用法
Jun 12 #Javascript
You might like
地摊中国 - 珍藏老照片
2020/08/18 杂记
phpmyadmin MySQL 加密配置方法
2009/07/05 PHP
php5.3提示Function ereg() is deprecated Error问题解决方法
2014/11/12 PHP
php中current、next与reset函数用法实例
2014/11/17 PHP
thinkphp中memcache的用法实例
2014/11/29 PHP
WordPress中转义HTML与过滤链接的相关PHP函数使用解析
2015/12/22 PHP
ThinkPHP路由机制简介
2016/03/23 PHP
php自定义函数实现统计中文字符串长度的方法小结
2017/04/15 PHP
php实现和c#一致的DES加密解密实例
2017/07/24 PHP
使用tp框架和SQL语句查询数据表中的某字段包含某值
2019/10/18 PHP
总结一些js自定义的函数
2006/08/05 Javascript
javascript读取RSS数据
2007/01/20 Javascript
js程序中美元符号$是什么
2008/06/05 Javascript
Javascript 模式实例 观察者模式
2009/10/24 Javascript
JQuery为textarea添加maxlength属性的代码
2010/04/07 Javascript
JavaScript实现瀑布流布局
2020/06/28 Javascript
jQuery mobile的header和footer在点击屏幕的时候消失的解决办法
2016/07/01 Javascript
Javascript前端经典的面试题及答案
2017/03/14 Javascript
Node.js使用orm2进行update操作时关联字段无法修改的解决方法
2017/06/13 Javascript
nodejs简单读写excel内容的方法示例
2018/03/16 NodeJs
小程序日历控件使用方法详解
2018/12/29 Javascript
在 Vue 中使用 JSX 及使用它的原因浅析
2020/02/10 Javascript
JavaScript如何判断对象有某属性
2020/07/03 Javascript
vue-router定义元信息meta操作
2020/12/07 Vue.js
python实现k均值算法示例(k均值聚类算法)
2014/03/16 Python
wxPython中文教程入门实例
2014/06/09 Python
python实现微信跳一跳辅助工具步骤详解
2018/01/04 Python
5分钟 Pipenv 上手指南
2018/12/20 Python
python微信撤回监测代码
2019/04/29 Python
python中的数据结构比较
2019/05/13 Python
python中count函数简单的实例讲解
2020/02/06 Python
德国团购网站:Groupon德国
2018/03/13 全球购物
美国名表在线商城:Ashford(支持中文)
2019/09/24 全球购物
美国最大的在线生存商店:Survival Frog
2020/12/13 全球购物
小学推普周活动总结
2015/05/07 职场文书
矛盾论读书笔记
2015/06/29 职场文书