微信小程序实现多个按钮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 相关文章推荐
csdn 论坛技术区平均给分功能
Nov 07 Javascript
Jquery在IE7下无法使用 $.ajax解决方法
Nov 11 Javascript
js判断上传文件类型判断FileUpload文件类型代码
May 20 Javascript
教你用AngularJS框架一行JS代码实现控件验证效果
Jun 23 Javascript
JavaScript生成SQL查询表单的方法
Aug 13 Javascript
jQuery组件easyui对话框实现代码
Aug 25 Javascript
AngularJs directive详解及示例代码
Sep 01 Javascript
javascript 解决浏览器不支持的问题
Sep 24 Javascript
jQuery表单插件ajaxForm实例详解
Jan 17 Javascript
jQuery实现一个简单的验证码功能
Jun 26 jQuery
详解如何搭建mpvue框架搭配vant组件库的小程序项目
May 16 Javascript
vue-admin-template配置快捷导航的代码(标签导航栏)
Sep 04 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编写和读取XML的几种方式
2013/01/12 PHP
php使用socket post数据到其它web服务器的方法
2015/06/02 PHP
PHP实现webshell扫描文件木马的方法
2017/07/31 PHP
PHP排序二叉树基本功能实现方法示例
2018/05/26 PHP
Laravel程序架构设计思路之使用动作类
2018/06/07 PHP
php提供实现反射的方法和实例代码
2019/09/17 PHP
js 效率组装字符串 StringBuffer
2009/12/23 Javascript
JavaScript中的this实例分析
2011/04/28 Javascript
JavaScript之自定义类型
2012/05/04 Javascript
javascript firefox 自动加载iframe 自动调整高宽示例
2013/08/27 Javascript
从零学JSON之JSON数据结构
2014/05/19 Javascript
AngularJS使用ngMessages进行表单验证
2015/12/27 Javascript
jQuery动态添加及删除表单上传元素的方法(附demo源码下载)
2016/01/15 Javascript
jquery zTree异步加载简单实例讲解
2016/02/25 Javascript
实例详解ECMAScript5中新增的Array方法
2016/04/05 Javascript
JSP基于Bootstrap分页显示实例解析
2016/06/12 Javascript
jQuery事件绑定用法详解
2016/09/08 Javascript
Vue中的数据监听和数据交互案例解析
2017/07/12 Javascript
Javascript实现跨域后台设置拦截的方法详解
2017/08/04 Javascript
vue.js语法及常用指令
2017/10/29 Javascript
vue实现鼠标移入移出事件代码实例
2019/03/27 Javascript
python更改已存在excel文件的方法
2018/05/03 Python
python中plot实现即时数据动态显示方法
2018/06/22 Python
Python实现将Excel转换成为image的方法
2018/10/23 Python
pygame实现打字游戏
2021/02/19 Python
Python 内置变量和函数的查看及说明介绍
2019/12/25 Python
Python安装whl文件过程图解
2020/02/18 Python
Django使用Celery加redis执行异步任务的实例内容
2020/02/20 Python
Python字符串split及rsplit方法原理详解
2020/06/29 Python
Django model重写save方法及update踩坑详解
2020/07/27 Python
python推导式的使用方法实例
2021/02/28 Python
法国二手MacBook销售网站:Okamac
2019/03/18 全球购物
社区科普工作方案
2014/06/03 职场文书
服务理念标语
2014/06/18 职场文书
企业优秀团员事迹材料
2014/08/20 职场文书
CocosCreator ScrollView优化系列之分帧加载
2021/04/14 Python