自定義微信小程序tabBar+權限管理+頁面跳轉不刷新

一.需求
   1.tabBar在實際的項目中,被UI要求字體大小爲20rpx,而微信自帶的是24rpx

    2.tabBar加上了權限管理(只有會員纔可以看到專屬的tabBar入口)

    3.tabBar點擊後,如果是同樣的tabBar禁止重新加載數據

    4.tabBar對應的頁面要有緩存(也就是跳轉不刷新)

二.實現思路
    1.把所有的tabBar頁面寫在一個頁面,使用Swiper+scroll-view實現,balabalabalala~~

    2.使用switchTab的跳轉方式緩存頁面

    結果:因爲一開始項目就採用了4個頁面的方式,所以只能填坑選擇了第二種

三.實現方法
    1.自定義tabBar(我使用了組件的方式)

4180367-0aa448e51e1df5b4.png
tabBar代碼
 解析:使用navigator標籤進行頁面跳轉,防止左上角的左返回按鈕出現。open-type是跳轉方式,hover-class是指定點擊時的樣式,使用tabStatu和每一個數組的current相比較來實現是否點擊的是當項,如果是就隱藏navigator,顯示block禁止同一個按鈕的多次點擊。image的標籤也是通過當前點擊項的tabStute來判斷顯示的是哪一張圖片。

4180367-e0ae404fcbd45137.png
tabBarj的son(普通用戶)
   4180367-3e108dadd42c69af.png


根據身份添加會員的權限
2.實現跳轉時就遇到了switchTab根本不管用啊,怎麼跳轉不了捏~

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

    那就去註冊吧

4180367-f92a6788d934d033.png
app.json中註冊tabBar
這樣的寫法是爲了防止加載時出現文字,圖片的信息

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


原文:https://blog.csdn.net/weixin_33866037/article/details/87484581 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章