您好,登錄后才能下訂單哦!
這篇文章主要介紹了微信小程序如何實現(xiàn)多個按鈕toggle功能,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
微信小程序?qū)崿F(xiàn)多個按鈕toggle功能的實例
如下圖所示,實現(xiàn)該按鈕toggle功能。
百度上很多都是只設置一個按鈕的toggle,所以我現(xiàn)在來稍微總結(jié)下:多個按鈕如何實現(xiàn)自身的toggle功能。
原理:
1,列表展示的時候,我們會用wx:for 來循環(huán)數(shù)據(jù),那么我們就會得到相應的當前的第幾個數(shù)據(jù)(即 wx:key="index")
2.在每一個數(shù)據(jù)里面添加一個toggle的屬性,toggle=false 則不展示,
3.設置一個點擊方法,獲取當前按鈕所在的是第幾個數(shù)據(jù),然后將相應的toggle取反,然后將修改后的數(shù)據(jù)重新寫進去 (我出錯的地方就在這)
4. 在wxml頁面判斷toggle的值是true/false ,然后修改相應的class名
js代碼:
Page({ data:{ datas:[] }, onLoad:function(options){ var that=this; API.my_ajax('',function(res){ //用mock.js 設置的模擬數(shù)據(jù)調(diào)用格式 // 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 可以查看當前方法里面所有的數(shù)據(jù),可以查找一下我們所需要的內(nèi)容是否有在里面,底下的index 就是這樣找到的 var a=e.currentTarget.dataset.index; var b=this.data.datas[a].toggle; this.data.datas[a].toggle=!b; //設置之后我們要把數(shù)據(jù)從新添回去 this.setData({ datas:this.data.datas }) } })
wxml代碼:
<!--使用二維碼按鈕--> <label class="icon_qrcode_wrap" data-index="{{index}}" bindtap="showBtn"> <text>使用規(guī)格及二維碼</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 class="fs12">erwr43545</text> </view> <text class="rq_code_title cfff fs13">使用規(guī)則</text> <text class="cfff code_txt">就掉粉絲活生生的誰讓他和人文就掉粉絲活生生的誰讓他和人文就掉粉絲活生生的誰讓他和人文</text> </view> </view> </view>
感謝你能夠認真閱讀完這篇文章,希望小編分享的“微信小程序如何實現(xiàn)多個按鈕toggle功能”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學習!
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。