国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

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

2019-11-19 13:01:04
字體:
來源:轉載
供稿:網友

最近開發微信小程序,公司要求做一個類似閑魚的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就完成啦,撒花!!!!!

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 土默特左旗| 常德市| 施甸县| 浦北县| 眉山市| 哈尔滨市| 石台县| 合川市| 同心县| 名山县| 英超| 大石桥市| 神池县| 阿坝| 邢台县| 九寨沟县| 宣城市| 江源县| 中超| 庆云县| 云浮市| 仲巴县| 新和县| 游戏| 神农架林区| 炎陵县| 阿合奇县| 连平县| 大余县| 根河市| 蓝田县| 遂川县| 宁化县| SHOW| 固镇县| 黄石市| 郁南县| 姜堰市| 上饶市| 南投市| 赫章县|