小女子也是剛?cè)腴T微信小程序不久,發(fā)現(xiàn)微信內(nèi)部很多組件都已經(jīng)封裝好了,但是卻沒有tab選項(xiàng)卡效果的組件,最近正好需要用到,就研究了一下。愛掏網(wǎng) - it200.com整理出來供大家一起探討學(xué)習(xí),哪里有問題或者可以改進(jìn)的地方,歡迎大家指點(diǎn)吐槽。愛掏網(wǎng) - it200.com
首先點(diǎn)擊導(dǎo)航的時(shí)候需要兩個(gè)變量,一個(gè)存儲(chǔ)當(dāng)前點(diǎn)擊樣式類,一個(gè)是其它導(dǎo)航默認(rèn)的樣式類
選項(xiàng)卡內(nèi)容列表同樣也需要兩個(gè)變量,一個(gè)存儲(chǔ)當(dāng)前顯示塊,一個(gè)存儲(chǔ)的是其它隱藏的默認(rèn)塊
使用三目運(yùn)算通過點(diǎn)擊獲取導(dǎo)航索引,根據(jù)索引判斷是否添加當(dāng)前類【備注,這里我將點(diǎn)擊事件綁定在父級(jí)導(dǎo)航欄,通過target對(duì)象得到點(diǎn)擊觸發(fā)的事件對(duì)象屬性】
請(qǐng)結(jié)合如下效果圖:
demo.wxml:
登錄后復(fù)制
demo.js
Page( { data: { tabArr: { curHdIndex: 0, curBdIndex: 0 }, }, tabFun: function(e){ //獲取觸發(fā)事件組件的dataset屬性 var _datasetId=e.target.dataset.id; console.log("----"+_datasetId+"----"); var _obj={}; _obj.curHdIndex=_datasetId; _obj.curBdIndex=_datasetId; this.setData({ tabArr: _obj }); }, onLoad: function( options ) { alert( "------" ); } });登錄后復(fù)制
demo.wxss
.tab{ display: flex; flex-direction: row; } .tab-left{ width: 200rpx; line-height: 160%; border-right: solid 1px gray; } .tab-left view{ border-bottom: solid 1px red; } .tab-left .active{ color: #f00; } .tab-right{ line-height: 160%; } .tab-right .right-item{ padding-left: 15rpx; display: none; } .tab-right .right-item.active{ display: block; }登錄后復(fù)制
?最終演示效果如下:
總結(jié): Kagami_Tiger的原理是選取tab,就調(diào)用選取tab的內(nèi)容并隱藏其他tab內(nèi)容,當(dāng)然如果可以是把每個(gè)tab分類分別處于不同的頁面,然后每個(gè)tab一一對(duì)應(yīng)每個(gè)不同的頁面,那樣或許會(huì)更好。愛掏網(wǎng) - it200.com我沒有那么開發(fā)過,也歡迎大家分享,相互學(xué)習(xí)舉一反三,才能一起進(jìn)步。愛掏網(wǎng) - it200.com
更多?微信小程序:如何實(shí)現(xiàn)tabs選項(xiàng)卡效果示例相關(guān)文章請(qǐng)關(guān)注愛掏網(wǎng) - it200.com!
相關(guān)文章:
微信小程序 tabs選項(xiàng)卡效果的實(shí)現(xiàn)
簡約時(shí)尚的純CSS3 Tabs選項(xiàng)卡特效
javascript實(shí)現(xiàn)tabs選項(xiàng)卡切換效果