微信小程序实现多个按钮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 相关文章推荐
科讯商业版中用到的ajax空间与分页函数
Sep 02 Javascript
基于jQuery.Validate验证库知识点的详解
Apr 26 Javascript
JavaScript获取onclick、onchange等事件值的代码
Jul 22 Javascript
showModalDialog模态对话框的使用详解以及浏览器兼容
Jan 11 Javascript
JavaScript实现跑马灯抽奖活动实例代码解析与优化(一)
Feb 16 Javascript
对layui中表单元素的使用详解
Aug 15 Javascript
node版本管理工具n包使用教程详解
Nov 09 Javascript
vue-router懒加载速度缓慢问题及解决方法
Nov 25 Javascript
React优化子组件render的使用
May 12 Javascript
移动端底部导航固定配合vue-router实现组件切换功能
Jun 13 Javascript
Vue 开发必须知道的36个技巧(小结)
Oct 09 Javascript
jQuery实现简单QQ聊天框
Aug 27 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 上传文件类型判断函数(避免上传漏洞 )
2010/06/08 PHP
php中经典方法实现判断多维数组是否为空
2011/10/23 PHP
跟我学Laravel之路由
2014/10/15 PHP
彻底删除thinkphp3.1案例blog标签的方法
2014/12/05 PHP
php四种定界符详解
2017/02/16 PHP
Yii框架学习笔记之应用组件操作示例
2019/11/13 PHP
javascript用户注册提示效果的简单实例
2013/08/17 Javascript
用javascript判断IE版本号简单实用且向后兼容
2013/09/11 Javascript
jquery和ajax的关系详细介绍
2013/11/29 Javascript
使用jquery实现IE下按backspace相当于返回操作
2014/03/18 Javascript
javascript中with()方法的语法格式及使用
2014/08/04 Javascript
Jquery实现textarea根据文本内容自适应高度
2015/04/03 Javascript
js贪吃蛇游戏实现思路和源码
2016/04/14 Javascript
JSON与String互转的实现方法(Javascript)
2016/09/27 Javascript
Vue.js常用指令汇总(v-if、v-for等)
2016/11/03 Javascript
AngularJS操作键值对象类似java的hashmap(填坑小结)
2016/11/12 Javascript
js实现用户输入的小写字母自动转大写字母的方法
2017/01/21 Javascript
微信小程序日历组件calendar详解及实例
2017/06/08 Javascript
Javascript原生ajax请求代码实例
2020/02/20 Javascript
javascript设计模式 ? 适配器模式原理与应用实例分析
2020/04/13 Javascript
使用纯前端JavaScript实现Excel导入导出方法过程详解
2020/08/07 Javascript
js+cavans实现图片滑块验证
2020/09/29 Javascript
Python中常用信号signal类型实例
2018/01/25 Python
将tensorflow的ckpt模型存储为npy的实例
2018/07/09 Python
django解决跨域请求的问题
2018/11/11 Python
Django如何实现网站注册用户邮箱验证功能
2019/08/14 Python
Kathmandu澳洲户外商店:新西兰户外运动品牌
2017/11/12 全球购物
全球在线商店:BerryLook
2019/04/14 全球购物
俄罗斯在线水暖商店:Perfecto.ru
2019/10/25 全球购物
送货司机岗位职责
2013/12/11 职场文书
2014年两会学习心得体会
2014/03/17 职场文书
体操比赛口号
2014/06/10 职场文书
大学生安全教育心得体会
2016/01/15 职场文书
如何书写你的职业生涯规划书?
2019/06/27 职场文书
创业计划书之花店
2019/09/20 职场文书
Vue实现跑马灯样式文字横向滚动
2021/11/23 Vue.js