自定義微信小程序tabBar+權(quán)限管理+頁(yè)面跳轉(zhuǎn)不刷新

自定義微信小程序tabBar+權(quán)限管理+頁(yè)面跳轉(zhuǎn)不刷新


一.需求

? ?1.tabBar在實(shí)際的項(xiàng)目中,被UI要求字體大小為20rpx,而微信自帶的是24rpx

? ? 2.tabBar加上了權(quán)限管理(只有會(huì)員才可以看到專屬的tabBar入口)

? ? 3.tabBar點(diǎn)擊后,如果是同樣的tabBar禁止重新加載數(shù)據(jù)

? ? 4.tabBar對(duì)應(yīng)的頁(yè)面要有緩存(也就是跳轉(zhuǎn)不刷新)

二.實(shí)現(xiàn)思路

? ? 1.把所有的tabBar頁(yè)面寫在一個(gè)頁(yè)面,使用Swiper+scroll-view實(shí)現(xiàn),balabalabalala~~

? ? 2.使用switchTab的跳轉(zhuǎn)方式緩存頁(yè)面

? ? 結(jié)果:因?yàn)橐婚_(kāi)始項(xiàng)目就采用了4個(gè)頁(yè)面的方式,所以只能填坑選擇了第二種

三.實(shí)現(xiàn)方法

? ? 1.自定義tabBar(我使用了組件的方式)


tabBar代碼

?解析:使用navigator標(biāo)簽進(jìn)行頁(yè)面跳轉(zhuǎn),防止左上角的左返回按鈕出現(xiàn)。open-type是跳轉(zhuǎn)方式,hover-class是指定點(diǎn)擊時(shí)的樣式,使用tabStatu和每一個(gè)數(shù)組的current相比較來(lái)實(shí)現(xiàn)是否點(diǎn)擊的是當(dāng)項(xiàng),如果是就隱藏navigator,顯示block禁止同一個(gè)按鈕的多次點(diǎn)擊。image的標(biāo)簽也是通過(guò)當(dāng)前點(diǎn)擊項(xiàng)的tabStute來(lái)判斷顯示的是哪一張圖片。


tabBarj的son(普通用戶)

? ?

根據(jù)身份添加會(huì)員的權(quán)限

2.實(shí)現(xiàn)跳轉(zhuǎn)時(shí)就遇到了switchTab根本不管用啊,怎么跳轉(zhuǎn)不了捏~

? ? 排查:wx.switchTab({url:'地址'})的官方說(shuō)明地址必須是在app.json的tabBar中注冊(cè)的。

? ? 那就去注冊(cè)吧


app.json中注冊(cè)tabBar

這樣的寫法是為了防止加載時(shí)出現(xiàn)文字,圖片的信息

但是又遇到了問(wèn)題,自定義的tabbar出現(xiàn)在app.json的tabBar上方,別著急,在app.js中使用wx.wx.hideTabBar(),隱藏掉就好了。哈哈。大功告成。

如果你有更好的方法,可以告訴我哦~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 上午看paper找學(xué)習(xí)狀態(tài)定義啊難難難 中午看棋書很饞仙豆糕 下午和mason下棋首先復(fù)盤他國(guó)象聯(lián)盟的棋1.愛(ài)送兵...
    dq920813閱讀 169評(píng)論 0 0
  • 周末的早晨,胡先生被刺眼的陽(yáng)光照醒,不耐煩地嘟囔了一句,媽的,晚上忘記拉窗簾了。 他坐起身來(lái),回頭望了一下熟睡在旁...
    接地氣的仙兒閱讀 3,541評(píng)論 72 89
  • 安靜,萬(wàn)物生春,花呀,開(kāi)了,紅色,是梅。那一刻,她最美。風(fēng)帶來(lái)他的信嗎,是嗎。寫不出,那種滋味,是沒(méi)有文字能言...
    硫酸銅的二次方閱讀 165評(píng)論 1 1

友情鏈接更多精彩內(nèi)容