小程序實現多個按鈕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
-
})
第二部分:如何開通一個小商店