最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

微信小程序開發(fā)之自定義tabBar的實(shí)現(xiàn)

 更新時(shí)間:2018年09月06日 09:33:05   作者:SuRuiGit  
這篇文章主要介紹了微信小程序開發(fā)之自定義tabBar的實(shí)現(xiàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

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

在小程序的開發(fā)文檔中,對(duì)tabbar是這樣說(shuō)明的:

如果小程序是一個(gè)多 tab 應(yīng)用(客戶端窗口的底部或頂部有 tab 欄可以切換頁(yè)面),可以通過(guò) tabBar 配置項(xiàng)指定 tab 欄的表現(xiàn),以及 tab 切換時(shí)顯示的對(duì)應(yīng)頁(yè)面。

Tip:

1.當(dāng)設(shè)置 position 為 top 時(shí),將不會(huì)顯示 icon

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

在實(shí)際開發(fā)過(guò)程中,小程序自帶的tabbar樣式并不能滿足設(shè)計(jì)提供的開發(fā)需求,所以需要我們自定義一套屬于自己的tabbar。

使用步驟如下:

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

第二步:到app.json中配置tabBar,這里我就不細(xì)說(shuō)了,只強(qiáng)調(diào)閑魚的tabbar中間的按鈕是跳到二級(jí)頁(yè)面,所以不配置在tabBar的list中

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

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

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": "首頁(yè)"
    },
    {
     "pagePath": "/page/myRelease/index",
     "iconPath": "icon/icon_release.png",
     "isSpecial": true,
     "text": "發(fā)布"
    },
    {
     "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中配置的頁(yè)面的.js文件的data中加入tabbar:{},并在onload方法中調(diào)用app.editTabbar();

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

"usingComponents": {

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

}

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

到目前為止,自定義tabbar就完成啦,撒花!?。。。?br />

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

视频| 连云港市| 赤峰市| 利川市| 阿克苏市| 和田市| 射洪县| 东莞市| 敦化市| 教育| 黄浦区| 晋州市| 昌宁县| 阿拉善盟| 措美县| 抚顺县| 柳江县| 三江| 大丰市| 齐河县| 双牌县| 新余市| 越西县| 景洪市| 隆子县| 南雄市| 利辛县| 塔城市| 兰坪| 镇原县| 江川县| 祁阳县| 房山区| 乌兰县| 大冶市| 七台河市| 津南区| 云安县| 原平市| 杂多县| 方山县|