微信小程序?qū)崿F(xiàn)多個(gè)按鈕toggle功能的實(shí)例
微信小程序?qū)崿F(xiàn)多個(gè)按鈕toggle功能的實(shí)例
如下圖所示,實(shí)現(xiàn)該按鈕toggle功能。

百度上很多都是只設(shè)置一個(gè)按鈕的toggle,所以我現(xiàn)在來(lái)稍微總結(jié)下:多個(gè)按鈕如何實(shí)現(xiàn)自身的toggle功能。
原理:
1,列表展示的時(shí)候,我們會(huì)用wx:for 來(lái)循環(huán)數(shù)據(jù),那么我們就會(huì)得到相應(yīng)的當(dāng)前的第幾個(gè)數(shù)據(jù)(即 wx:key="index")
2.在每一個(gè)數(shù)據(jù)里面添加一個(gè)toggle的屬性,toggle=false 則不展示,
3.設(shè)置一個(gè)點(diǎn)擊方法,獲取當(dāng)前按鈕所在的是第幾個(gè)數(shù)據(jù),然后將相應(yīng)的toggle取反,然后將修改后的數(shù)據(jù)重新寫(xiě)進(jìn)去 (我出錯(cuò)的地方就在這)
4. 在wxml頁(yè)面判斷toggle的值是true/false ,然后修改相應(yīng)的class名
js代碼:
Page({
data:{
datas:[]
},
onLoad:function(options){
var that=this;
API.my_ajax('',function(res){ //用mock.js 設(shè)置的模擬數(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);
//這兩個(gè)console.log 可以查看當(dāng)前方法里面所有的數(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è)置之后我們要把數(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 style="display:block;" class="fs12">erwr43545</text>
</view>
<text class="rq_code_title cfff fs13">使用規(guī)則</text>
<text class="cfff code_txt">就掉粉絲活生生的誰(shuí)讓他和人文就掉粉絲活生生的誰(shuí)讓他和人文就掉粉絲活生生的誰(shuí)讓他和人文</text>
</view>
</view>
</view>
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
- 微信小程序?qū)崿F(xiàn)動(dòng)態(tài)設(shè)置頁(yè)面標(biāo)題的方法【附源碼下載】
- 微信小程序 input輸入及動(dòng)態(tài)設(shè)置按鈕的實(shí)現(xiàn)
- 微信小程序 動(dòng)態(tài)的設(shè)置圖片的高度和寬度詳解及實(shí)例代碼
- 微信小程序?qū)崿F(xiàn)動(dòng)態(tài)改變view標(biāo)簽寬度和高度的方法【附demo源碼下載】
- 微信小程序基于slider組件動(dòng)態(tài)修改標(biāo)簽透明度的方法示例
- 微信小程序 實(shí)現(xiàn)動(dòng)態(tài)顯示和隱藏某個(gè)控件
- 微信小程序 動(dòng)態(tài)綁定事件并實(shí)現(xiàn)事件修改樣式
- 微信小程序 JS動(dòng)態(tài)修改樣式的實(shí)現(xiàn)代碼
- 微信小程序 實(shí)現(xiàn)列表項(xiàng)滑動(dòng)顯示刪除按鈕的功能
- 微信小程序組件 contact-button(客服會(huì)話按鈕)詳解及實(shí)例代碼
- 微信小程序?qū)崿F(xiàn)動(dòng)態(tài)設(shè)置placeholder提示文字及按鈕選中/取消狀態(tài)的方法
相關(guān)文章
MutationObserver在頁(yè)面水印實(shí)現(xiàn)起到的作用詳解
這篇文章主要為大家介紹了MutationObserver在實(shí)現(xiàn)頁(yè)面水印所起到的作用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07
微信小程序 POST請(qǐng)求(網(wǎng)絡(luò)請(qǐng)求)詳解及實(shí)例代碼
這篇文章主要介紹了微信小程序 POST請(qǐng)求(網(wǎng)絡(luò)請(qǐng)求)詳解及實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下2016-11-11
js?交互在Flutter?中使用?webview_flutter
這篇文章主要為大家介紹了js?交互在Flutter?中使用?webview_flutter示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02
Typescript類(lèi)型系統(tǒng)FLOW靜態(tài)檢查基本規(guī)范
這篇文章主要為大家介紹了Typescript語(yǔ)言的類(lèi)型系統(tǒng)FLOW靜態(tài)檢查基本規(guī)范,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05
Typescript?封裝?Axios攔截器方法實(shí)例
這篇文章主要為大家介紹了Typescript?封裝?Axios攔截器方法實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09
微信小程序 form組件詳解及簡(jiǎn)單實(shí)例
這篇文章主要介紹了微信小程序 form組件詳解及簡(jiǎn)單實(shí)例的相關(guān)資料,需要的朋友可以參考下2017-01-01
微信小程序 setData使用方法及常用錯(cuò)誤解決辦法
這篇文章主要介紹了微信小程序 setData使用方法及常用錯(cuò)誤解決辦法的相關(guān)資料,需要的朋友可以參考下2017-05-05

