微信小程序实现多个按钮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 Tips(4) 一些关于提高JQuery性能的Tips
Dec 19 Javascript
Jquery Autocomplete 结合asp.net使用要点
Oct 29 Javascript
JS实现的左侧竖向滑动菜单效果代码
Oct 19 Javascript
值得分享的Bootstrap Ace模板实现菜单和Tab页效果
Dec 30 Javascript
AngularJS 中的指令实践开发指南(一)
Mar 20 Javascript
jQuery通过改变input的type属性实现密码显示隐藏切换功能
Feb 08 Javascript
vue.js 获取select中的value实例
Mar 01 Javascript
浅析webpack-bundle-analyzer在vue-cli3中的使用
Oct 23 Javascript
vue遍历对象中的数组取值示例
Nov 07 Javascript
Vue组件通信中非父子组件传值知识点总结
Dec 05 Javascript
package.json中homepage属性的作用详解
Mar 11 Javascript
jQuery实现日历效果
Sep 11 jQuery
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笔记之:日期函数的使用介绍
2013/04/24 PHP
php实现RSA加密类实例
2015/03/26 PHP
PHP遍历数组的方法汇总
2015/04/30 PHP
分享PHP-pcntl 实现多进程代码
2016/09/30 PHP
php+mongodb判断坐标是否在指定多边形区域内的实例
2016/10/28 PHP
PHPCMS手机站伪静态设置详细教程
2017/02/06 PHP
利用ajax和PHP实现简单的流程管理
2017/03/23 PHP
PHP获取本周所有日期或者最近七天所有日期的方法
2018/06/20 PHP
ThinkPHP5.1验证码功能实现的示例代码
2020/06/08 PHP
Locate a File Using a File Open Dialog Box
2007/06/18 Javascript
理解Javascript_09_Function与Object
2010/10/16 Javascript
document.createElement()用法及注意事项(ff下不兼容)
2013/03/13 Javascript
onbeforeunload与onunload事件异同点总结
2013/06/24 Javascript
javascript 上下banner替换具体实现
2013/11/14 Javascript
使用jQuery异步加载 JavaScript脚本解决方案
2014/04/20 Javascript
原生js仿jq判断当前浏览器是否为ie,精确到ie6~8
2014/08/30 Javascript
window.location.hash知识汇总
2015/11/09 Javascript
两种方法解决javascript url post 特殊字符转义 + &amp; #
2016/04/13 Javascript
jQuery使用serialize()表单序列化时出现中文乱码问题的解决办法
2016/07/27 Javascript
浅谈Vue的基本应用
2016/12/27 Javascript
jQuery is not defined 错误原因与解决方法小结
2017/03/19 Javascript
小程序云开发实现数据库异步操作同步化
2019/05/18 Javascript
JS通过ajax + 多列布局 + 自动加载实现瀑布流效果
2019/05/30 Javascript
React实现评论的添加和删除
2020/10/20 Javascript
python 实现将字典dict、列表list中的中文正常显示方法
2018/07/06 Python
对python for 文件指定行读写操作详解
2018/12/29 Python
CSS3之边框多颜色Border-color属性使用示例
2013/10/11 HTML / CSS
HTML5页面中尝试调起APP功能
2017/09/12 HTML / CSS
仓库班组长岗位职责
2013/12/12 职场文书
技校毕业生的自我评价
2013/12/27 职场文书
学校四群教育实施方案
2014/06/12 职场文书
小学家长通知书评语
2014/12/31 职场文书
2015年南京大屠杀纪念日活动总结
2015/03/24 职场文书
实习员工转正的评语汇总,以备不时之需
2019/12/17 职场文书
自动在Windows中运行Python脚本并定时触发功能实现
2021/09/04 Python
Element-ui Layout布局(Row和Col组件)的实现
2021/12/06 Vue.js