微信小程序实现多个按钮toggle功能的实例

发布时间 - 2026-01-11 01:51:15    点击率:

微信小程序实现多个按钮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> 

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# 微信小程序  # toggle  # 小程序  # toggle的实现  # 微信小程序实现动态设置页面标题的方法【附源码下载】  # 微信小程序 input输入及动态设置按钮的实现  # 微信小程序 动态的设置图片的高度和宽度详解及实例代码  # 微信小程序实现动态改变view标签宽度和高度的方法【附demo源码下载】  # 微信小程序基于slider组件动态修改标签透明度的方法示例  # 微信小程序 实现动态显示和隐藏某个控件  # 微信小程序 动态绑定事件并实现事件修改样式  # 微信小程序 JS动态修改样式的实现代码  # 微信小程序 实现列表项滑动显示删除按钮的功能  # 微信小程序组件 contact-button(客服会话按钮)详解及实例代码  # 微信小程序实现动态设置placeholder提示文字及按钮选中/取消状态的方法  # 他和  # 多个  # 的是  # 都是  # 就会  # 我现在  # 要把  # 这两个  # 希望能  # 弹出  # 在里面  # 所示  # 会用  # 谢谢大家  # 所需要  # 可以查看  # 如下图  # 如何实现  # 新添  # 就在这 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 用yum安装MySQLdb模块的步骤方法  为什么php本地部署后css不生效_静态资源加载失败修复技巧【技巧】  Laravel观察者模式如何使用_Laravel Model Observer配置  如何在建站之星网店版论坛获取技术支持?  浅谈Javascript中的Label语句  详解Nginx + Tomcat 反向代理 负载均衡 集群 部署指南  如何在IIS中配置站点IP、端口及主机头?  Win11怎么查看显卡温度 Win11任务管理器查看GPU温度【技巧】  Android滚轮选择时间控件使用详解  html5源代码发行怎么设置权限_访问权限控制方法与实践【指南】  jquery插件bootstrapValidator表单验证详解  大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?  javascript如何操作浏览器历史记录_怎样实现无刷新导航  网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?  无锡营销型网站制作公司,无锡网选车牌流程?  Python结构化数据采集_字段抽取解析【教程】  iOS验证手机号的正则表达式  Python函数文档自动校验_规范解析【教程】  Laravel Session怎么存储_Laravel Session驱动配置详解  作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】  小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?  Windows10电脑怎么设置虚拟光驱_Win10右键装载ISO镜像文件  标题:Vue + Vuex + JWT 身份认证的正确实践与常见误区解析  如何在万网开始建站?分步指南解析  JS弹性运动实现方法分析  Swift中swift中的switch 语句  利用python获取某年中每个月的第一天和最后一天  Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】  如何在IIS中新建站点并解决端口绑定冲突?  如何在阿里云完成域名注册与建站?  制作电商网页,电商供应链怎么做?  jimdo怎样用html5做选项卡_jimdo选项卡html5实现与切换效果【指南】  Laravel如何实现用户密码重置功能?(完整流程代码)  制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?  Laravel怎么配置不同环境的数据库_Laravel本地测试与生产环境动态切换【方法】  公司网站制作需要多少钱,找人做公司网站需要多少钱?  常州企业网站制作公司,全国继续教育网怎么登录?  活动邀请函制作网站有哪些,活动邀请函文案?  香港服务器建站指南:外贸独立站搭建与跨境电商配置流程  如何实现建站之星域名转发设置?  公司网站制作价格怎么算,公司办个官网需要多少钱?  如何构建满足综合性能需求的优质建站方案?  网站页面设计需要考虑到这些问题  制作公司内部网站有哪些,内网如何建网站?  Laravel如何使用Laravel Vite编译前端_Laravel10以上版本前端静态资源管理【教程】  大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?  专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?  微信小程序 input输入框控件详解及实例(多种示例)  如何正确下载安装西数主机建站助手?  企业网站制作这些问题要关注