微信小程序实现多个按钮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 相关文章推荐
Document 对象的常用方法
Jul 31 Javascript
获取数组中最大最小值方法js代码(自写)
Aug 12 Javascript
jquery实现侧边弹出的垂直导航
Dec 09 Javascript
jQuery实现的数值范围range2dslider选取插件特效多款代码分享
Aug 27 Javascript
javaScript实现可缩放的显示区效果代码
Oct 26 Javascript
3种js实现string的substring方法
Nov 09 Javascript
解决vuejs项目里css引用背景图片不能显示的问题
Sep 13 Javascript
qrcode生成二维码微信长按无法识别问题的解决
Apr 04 Javascript
使用Vue.observable()进行状态管理的实例代码详解
May 26 Javascript
vue中node_modules中第三方模块的修改使用详解
May 31 Javascript
JS实现关闭小广告特效
Jan 29 Javascript
Vue打包部署到Nginx时,css样式不生效的解决方式
Aug 03 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 获取select下拉列表框的值
2010/05/08 PHP
WordPress特定文章对搜索引擎隐藏或只允许搜索引擎查看
2015/12/31 PHP
WordPress开发中用于标题显示的相关函数使用解析
2016/01/07 PHP
javascript下IE与FF兼容函数收集
2008/09/17 Javascript
javascript 清除输入框中的数据
2009/04/13 Javascript
jquery DOM操作 基于命令改变页面
2010/05/06 Javascript
jquery ready()的几种实现方法小结
2010/06/18 Javascript
JS下拉缓冲菜单示例代码
2013/08/30 Javascript
javascript获取鼠标点击元素对象(示例代码)
2013/12/20 Javascript
引入JS文件IE6报语法错误或缺少对象问题的解决方法
2014/01/09 Javascript
用JS中split方法实现彩色文字背景效果实例
2016/08/24 Javascript
WEB 前端开发中防治重复提交的实现方法
2016/10/26 Javascript
vue 自定义组件 v-model双向绑定、 父子组件同步通信的多种写法
2017/11/27 Javascript
构建Vue大型应用的10个最佳实践(小结)
2019/11/07 Javascript
如何使用Javascript中的this关键字
2020/05/28 Javascript
vue 实现一个简单的全局调用弹窗案例
2020/09/10 Javascript
JavaScript实现alert弹框效果
2020/11/19 Javascript
[42:52]IG vs VGJ.T 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
python基础教程之数字处理(math)模块详解
2014/03/25 Python
Python的自动化部署模块Fabric的安装及使用指南
2016/01/19 Python
python numpy 一维数组转变为多维数组的实例
2018/07/02 Python
python3实现逐字输出的方法
2019/01/23 Python
使用Python的networkx绘制精美网络图教程
2019/11/21 Python
python GUI库图形界面开发之PyQt5信号与槽机制、自定义信号基础介绍
2020/02/25 Python
自定义Django Form中choicefield下拉菜单选取数据库内容实例
2020/03/13 Python
Python实现电视里的5毛特效实例代码详解
2020/05/15 Python
python利用pytesseract 实现本地识别图片文字
2020/12/14 Python
HTML5 自动聚焦(autofocus)属性使用介绍
2013/08/07 HTML / CSS
canvas实现烟花的示例代码
2020/01/16 HTML / CSS
在C#中如何实现多态
2014/07/02 面试题
物流管理专业大学生自荐信
2013/10/04 职场文书
《小小雨点》教学反思
2014/02/18 职场文书
浪漫婚礼主题活动策划方案
2014/09/15 职场文书
2014年计生协会工作总结
2014/11/21 职场文书
学校办公室主任岗位职责
2015/04/01 职场文书
python 使用pandas读取csv文件的方法
2022/12/24 Python