微信小程序实现多个按钮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文字上下滚动的实现方法
Mar 22 Javascript
表单类各种类型(文本框)失去焦点效果jquery代码
Apr 26 Javascript
Javascript中的for in循环和hasOwnProperty结合使用
Jun 05 Javascript
js拖拽一些常见的思路方法整理
Mar 19 Javascript
当前流行的JavaScript代码风格指南
Sep 10 Javascript
js实现获取当前时间是本月第几周的方法
Aug 11 Javascript
jQuery实现商品活动倒计时
Oct 16 Javascript
微信小程序 摇一摇抽奖简单实例实现代码
Jan 09 Javascript
详解Vue使用 vue-cli 搭建项目
Apr 20 Javascript
详解Vue.js iview实现树形权限表(可扩展表)
Sep 30 Javascript
JS设置自定义快捷键并实现图片上下左右移动
Oct 17 Javascript
bootstrap-table后端分页功能完整实例
Jun 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中定义网站根目录的常用方法
2010/08/08 PHP
浅谈php7的重大新特性
2015/10/23 PHP
功能强大的php分页函数
2016/07/20 PHP
使用正则去除php代码中的注释方法
2016/11/03 PHP
详解EventDispatcher事件分发组件
2016/12/25 PHP
PHP中include和require的区别实例分析
2017/05/07 PHP
php 替换文章中的图片路径,下载图片到本地服务器的方法
2018/02/06 PHP
PHP文件打开关闭及读写操作示例解析
2020/08/06 PHP
浏览器兼容console对象的简要解决方案分享
2013/10/24 Javascript
js/jquery去掉空格,回车,换行示例代码
2013/11/05 Javascript
Google Dart编程语法和基本类型学习教程
2013/11/27 Javascript
JavaScript通过事件代理高亮显示表格行的方法
2015/05/27 Javascript
JavaScript实现清空(重置)文件类型INPUT元素值的方法
2016/11/17 Javascript
详解javascript表单的Ajax提交插件的使用
2016/12/29 Javascript
从零开始学习Node.js系列教程之基于connect和express框架的多页面实现数学运算示例
2017/04/13 Javascript
JS 组件系列之Bootstrap Table的冻结列功能彻底解决高度问题
2017/06/30 Javascript
微信小程序progress组件使用详解
2018/01/31 Javascript
解决vue动态为数据添加新属性遇到的问题
2018/09/18 Javascript
layer提示框添加多个按钮选择的实例
2019/09/12 Javascript
JS apply用法总结和使用场景实例分析
2020/03/14 Javascript
JavaScript字符和ASCII实现互相转换
2020/06/03 Javascript
[02:07]2018DOTA2亚洲邀请赛主赛事第三日五佳镜头 fy极限反杀
2018/04/06 DOTA
理解Python垃圾回收机制
2016/02/12 Python
Python爬虫DOTA排行榜爬取实例(分享)
2017/06/13 Python
Python内建模块struct实例详解
2018/02/02 Python
Python操作mongodb数据库进行模糊查询操作示例
2018/06/09 Python
python 视频逐帧保存为图片的完整实例
2019/12/10 Python
植物选择:Botanic Choice
2017/02/15 全球购物
JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么?
2015/10/22 面试题
签约仪式主持词
2014/03/19 职场文书
机械设计及其自动化专业求职信
2014/06/09 职场文书
争先创优演讲稿
2014/09/15 职场文书
2014年物业公司工作总结
2014/11/22 职场文书
毕业晚宴祝酒词
2015/08/11 职场文书
初二物理教学反思
2016/02/19 职场文书
vue实现锚点定位功能
2021/06/29 Vue.js