微信小程序实现多个按钮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 动画基础教程
Dec 25 Javascript
JavaScript Event事件学习第一章 Event介绍
Feb 07 Javascript
jquery插件制作简单示例说明
Feb 03 Javascript
JavaScript中具名函数的多种调用方式总结
Nov 08 Javascript
JS+CSS实现仿触屏手机拨号盘界面及功能模拟完整实例
May 16 Javascript
JS实现的文字与图片定时切换效果代码
Oct 06 Javascript
jQueryUI Datepicker组件设置日期高亮
Oct 13 Javascript
JavaScript数组复制详解
Feb 02 Javascript
jQuery ajax请求struts action实现异步刷新
Apr 19 jQuery
详解Vue.js项目API、Router配置拆分实践
Mar 16 Javascript
微信小程序当前时间时段选择器插件使用方法详解
Dec 28 Javascript
Node.js控制台彩色输出的方法与原理实例详解
Dec 01 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
PHP与SQL注入攻击[一]
2007/04/17 PHP
解析数组非数字键名引号的必要性
2013/08/09 PHP
PHP连接MySQL的2种方法小结以及防止乱码
2014/03/11 PHP
分享一个Laravel好用的Cache宏
2015/03/02 PHP
PHP面向对象程序设计组合模式与装饰模式详解
2016/12/02 PHP
[原创]PHPCMS遭遇会员投稿审核无效的解决方法
2017/01/11 PHP
[原创]站长必须要知道的javascript广告代码
2007/05/30 Javascript
Javascript 面向对象之重载
2010/05/04 Javascript
JavaScript实用技巧(一)
2010/08/16 Javascript
用Jquery.load载入页面实现局部刷新
2014/01/22 Javascript
js+html5通过canvas指定开始和结束点绘制线条的方法
2015/06/05 Javascript
jquery带有索引按钮且自动轮播切换特效代码分享
2015/09/15 Javascript
javascript产生随机数方法汇总
2016/01/25 Javascript
前端主流框架vue学习笔记第一篇
2017/07/26 Javascript
React从react-router路由上做登陆验证控制的方法
2018/05/10 Javascript
详解vue-router传参的两种方式
2018/09/10 Javascript
在vue中动态修改css其中一个属性值操作
2020/12/07 Vue.js
Python判断值是否在list或set中的性能对比分析
2016/04/16 Python
python3.5实现socket通讯示例(TCP)
2017/02/07 Python
Python函数参数操作详解
2018/08/03 Python
浅谈Python 多进程默认不能共享全局变量的问题
2019/01/11 Python
python多线程并发让两个LED同时亮的方法
2019/02/18 Python
css3媒体查询中device-width和width的区别详解
2020/03/27 HTML / CSS
android面试问题与答案
2016/12/27 面试题
经济管理专业毕业生自荐信范文
2014/01/02 职场文书
致接力运动员广播稿
2014/02/17 职场文书
模具设计与制造专业自荐书
2014/07/01 职场文书
环境科学专业教师求职信
2014/07/12 职场文书
财务经理岗位职责
2015/01/31 职场文书
2015年社区流动人口工作总结
2015/05/12 职场文书
普通员工辞职信范文
2015/05/12 职场文书
2016年大学生暑期社会实践方案
2015/11/26 职场文书
家电创业计划书
2019/08/05 职场文书
postgresql无序uuid性能测试及对数据库的影响
2021/06/11 PostgreSQL
Python 的 sum() Pythonic 的求和方法详细
2021/10/16 Python
Win11使用CAD卡顿或者致命错误怎么办?Win11无法正常使用CAD的解决方法
2022/07/23 数码科技