中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

微信小程序開發之自定義tabBar的實現

發布時間:2020-09-25 23:25:53 來源:腳本之家 閱讀:450 作者:SuRuiGit 欄目:web開發

最近開發微信小程序,公司要求做一個類似閑魚的tabbar,但是網上大多資料的tabbar都會在頁面切換的時候重新渲染,所以我寫了一個不會重新渲染的tabbar,有需要的直接拿走不謝。https://github.com/SuRuiGit/wxapp-customTabbar

在小程序的開發文檔中,對tabbar是這樣說明的:

如果小程序是一個多 tab 應用(客戶端窗口的底部或頂部有 tab 欄可以切換頁面),可以通過 tabBar 配置項指定 tab 欄的表現,以及 tab 切換時顯示的對應頁面。

Tip:

1.當設置 position 為 top 時,將不會顯示 icon

2.tabBar 中的 list 是一個數組,只能配置最少2個、最多5個 tab,tab 按數組的順序排序。

在實際開發過程中,小程序自帶的tabbar樣式并不能滿足設計提供的開發需求,所以需要我們自定義一套屬于自己的tabbar。

使用步驟如下:

第一步:找到項目中的tabbarComponent目錄,拷貝到你的工程中,然后將tabbarComponent->icon圖標替換成你自己的tabbar圖片

第二步:到app.json中配置tabBar,這里我就不細說了,只強調閑魚的tabbar中間的按鈕是跳到二級頁面,所以不配置在tabBar的list中

第三步:在app.js的onLaunch方法中調用wx.hideTabBar();隱藏系統自帶的tabBar

第四步:在app.js中的globalData中加入自定義tabbar的參數,再加入一個方法給tabBar.list配置中的頁面使用,代碼如下

globalData: {
  userInfo: null,
  tabBar: {
   "backgroundColor": "#ffffff",
   "color": "#979795",
   "selectedColor": "#1c1c1b",
   "list": [
    {
     "pagePath": "/page/index/index",
     "iconPath": "icon/icon_home.png",
     "selectedIconPath": "icon/icon_home_HL.png",
     "text": "首頁"
    },
    {
     "pagePath": "/page/myRelease/index",
     "iconPath": "icon/icon_release.png",
     "isSpecial": true,
     "text": "發布"
    },
    {
     "pagePath": "/page/mine/index",
     "iconPath": "icon/icon_mine.png",
     "selectedIconPath": "icon/icon_mine_HL.png",
     "text": "我的"
    }
   ]
  }
 }
editTabbar: function() {
  let tabbar = this.globalData.tabBar;
  let currentPages = getCurrentPages();
  let _this = currentPages[currentPages.length - 1];
  let pagePath = _this.route;
  (pagePath.indexOf('/') != 0) && (pagePath = '/' + pagePath);
  for (let i in tabbar.list) {
   tabbar.list[i].selected = false;
   (tabbar.list[i].pagePath == pagePath) && (tabbar.list[i].selected = true);
  }
  _this.setData({
   tabbar: tabbar
  });
 },

第五步:在tabBar的list中配置的頁面的.js文件的data中加入tabbar:{},并在onload方法中調用app.editTabbar();

第六步:在tabBar的list中配置的頁面的.json文件中加入

"usingComponents": {

"tabbar": "../../tabbarComponent/tabbar"

}

在.wxml文件中加入<tabbar tabbar="{{tabbar}}"></tabbar>

到目前為止,自定義tabbar就完成啦,撒花!!!!!

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

贡嘎县| 当涂县| 香格里拉县| 溧阳市| 台南市| 固安县| 海宁市| 顺义区| 武邑县| 昌都县| 胶南市| 呼和浩特市| 富阳市| 耿马| 广宁县| 东平县| 永吉县| 通江县| 海盐县| 惠州市| 大兴区| 肇源县| 偃师市| 林芝县| 昌黎县| 桐庐县| 额尔古纳市| 陆川县| 香格里拉县| 龙胜| 通渭县| 永宁县| 洞口县| 金溪县| 调兵山市| 辽阳市| 铜川市| 塔河县| 夏河县| 临泉县| 谢通门县|