小程序实现多个按钮toggle功能
2020-09-28
导读: 百度上很多都是只设置一个按钮的toggle,所以我现在来稍微总结下:多个按钮如何实现自身的toggle功能。 原理:1,列表展示的时候,我们会用wx:...
百度上很多都是只设置一个按钮的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[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
-
})
第二部分:如何开通一个小商店