全部產品
Search
文件中心

Mobile Platform as a Service:tabBar

更新時間:Jul 13, 2024

tabBar 使用說明

多 tab 小程式(小程式的底部欄可以切換頁面)可以通過 tabBar 配置項指定 tab 欄的表現,以及 tab 切換時顯示的對應頁面。

說明
  • 通過頁面跳轉(my.navigateTo)或者頁面重新導向(my.redirectTo)所到達的頁面,即使它是定義在 tabBar 配置中的頁面,也不會顯示底部的 tab 欄。

  • tabBar 的第一個頁面必須是首頁。

tabBar 配置

屬性

類型

必填

描述

textColor

HexColor

文字顏色。

selectedColor

HexColor

選中文字顏色。

backgroundColor

HexColor

背景色。

items

Array

每個 tab 的配置。單個 item 的配置屬性見下表。

item 配置

屬性

類型

必填

描述

pagePath

String

設定頁面路徑。

name

String

名稱。

icon

String

平常表徵圖路徑。icon 推薦圖片尺寸為 60×60px ,系統會對任意傳入的圖片非等比展開/縮放。

activeIcon

String

高亮表徵圖路徑。

程式碼範例

tabBar 程式碼範例如下:

{
  "tabBar": {
    "textColor": "#dddddd",
    "selectedColor": "#49a9ee",
    "backgroundColor": "#ffffff",
    "items": [
      {
        "pagePath": "pages/index/index",
        "name": "首頁"      },
      {
        "pagePath": "pages/logs/logs",
        "name": "日誌"      }
    ]
  }
}

my.hideTabBar

版本要求:基礎庫版本 1.11.0 或更高版本,低版本需要做 相容處理

該介面用於隱藏標籤頁(tabbar)。相關問題請參見 tabBar 常見問題

程式碼範例

my.hideTabBar 程式碼範例如下:

my.hideTabBar({
    animation: true
})

入參

入參為 Object 類型,屬性如下:

屬性

類型

必填

說明

animation

Boolean

是否需要動畫效果,預設無。

success

Function

介面調用成功的回呼函數。

fail

Function

介面調用失敗的回呼函數。

complete

Function

介面調用結束的回呼函數(調用成功、失敗都會執行)。

my.hideTabBarRedDot

版本要求:基礎庫 1.11.0 或更高版本,若版本較低,建議做 相容處理

重要

IDE 暫不支援類比,請以真機調試效果為準。

該介面用於隱藏標籤頁(tabbar)某一項右上方的紅點。相關問題請參見 tabBar 常見問題

效果樣本

程式碼範例

my.hideTabBarRedDot 程式碼範例如下:

my.hideTabBarRedDot({
  index: 0
})

入參

Object 類型,屬性如下:

屬性

類型

必填

說明

index

Number

標籤頁的項數序號,從左邊計數。

success

Function

介面調用成功的回呼函數。

fail

Function

介面調用失敗的回呼函數。

complete

Function

介面調用結束的回呼函數(調用成功、失敗都會執行)。

my.removeTabBarBadge

版本要求:基礎庫 1.11.0 或更高版本,若版本較低,建議做 相容處理

重要

IDE 暫不支援類比,請以真機調試效果為準。

該介面用於移除標籤頁(tabbar) 某一項右上方的文本。相關問題請參見 tabBar 常見問題

效果樣本

程式碼範例

my.removeTabBarBadge 程式碼範例如下:

my.removeTabBarBadge({
  index: 0
})

入參

Object 類型,屬性如下:

屬性

類型

必填

說明

index

Number

標籤頁的項數序號,從左邊開始計數。

success

Function

介面調用成功的回呼函數。

fail

Function

介面調用失敗的回呼函數。

complete

Function

介面調用結束的回呼函數(調用成功、失敗都會執行)。

my.setTabBarBadge

版本要求:基礎庫 1.11.0 及以上版本。

重要

IDE 暫不支援類比,請以真機調試效果為準。

該介面用於為標籤頁(tabbar)某一項的右上方添加文本。可用於設定訊息條數的紅點提醒。相關問題請參見 tabBar 常見問題

效果樣本

程式碼範例

my.setTabBarBadge 程式碼範例如下:

my.setTabBarBadge({
  index: 0,
  text: '42'
})

入參

Object 類型,屬性如下:

屬性

類型

必填

描述

index

Number

標籤頁的項數序號,從左邊開始計數。

text

String

顯示的文本,超過三個字元則顯示成前兩個字元+“…”,例如:“支付寶”顯示“支付寶”,“螞蟻金服”顯示“螞蟻…”。

success

Function

介面調用成功的回呼函數。

fail

Function

介面調用失敗的回呼函數。

complete

Function

介面調用結束的回呼函數(調用成功、失敗都會執行)。

my.setTabBarItem

版本要求:基礎庫 1.11.0 或更高版本,若版本較低,建議做 相容處理

重要

IDE 暫不支援類比,請以真機調試效果為準。

該介面用於動態設定標籤頁(tabbar)某一項的內容。相關問題請參見 tabBar 常見問題

程式碼範例

my.setTabBarItem 程式碼範例如下:

my.setTabBarItem({
    index: 0,
    text: 'text',
    iconPath: '/image/iconPath',
    selectedIconPath: '/image/selectedIconPath'
})

入參

Object 類型,屬性如下:

屬性

類型

必填

說明

index

Number

標籤頁的項數序號,從左邊開始計數。

text

String

標籤頁按鈕上的文字。

iconPath

String

圖片路徑,建議尺寸為 81px * 81px,支援 png/jpeg/jpg/gif 圖片格式,支援網狀圖片。

selectedIconPath

String

選中時的圖片路徑,建議尺寸為 81px * 81px,支援 png/jpeg/jpg/gif 圖片格式,支援網狀圖片。

success

Function

介面調用成功的回呼函數。

fail

Function

介面調用失敗的回呼函數。

complete

Function

介面調用結束的回呼函數(調用成功、失敗都會執行)。

my.setTabBarStyle

版本要求:基礎庫 1.11.0 或更高版本,若版本較低,建議做 相容處理

重要

IDE 暫不支援類比,請以真機調試效果為準。

該介面用於動態設定標籤頁(tabbar)的整體樣式,如文字顏色、標籤背景色、標籤邊框顏色等。相關問題請參見 tabBar 常見問題

程式碼範例

my.setTabBarStyle 程式碼範例如下:

my.setTabBarStyle({
    color: '#FF0000',
    selectedColor: '#00FF00',
    backgroundColor: '#0000FF',
    borderStyle: 'white'
})

入參

Object 類型,屬性如下:

屬性

類型

必填

說明

color

HexColor

標籤(tab)上的文字預設顏色

selectedColor

HexColor

標籤(tab)上的文字選中時的顏色

backgroundColor

HexColor

標籤(tab)的背景色

borderStyle

String

標籤頁(tabbar)上邊框的顏色, 僅支援 blackwhite

success

Function

介面調用成功的回呼函數。

fail

Function

介面調用失敗的回呼函數。

complete

Function

介面調用結束的回呼函數(調用成功、失敗都會執行)。

my.showTabBar

版本要求:基礎庫 1.11.0 或更高版本,若版本較低,建議做 相容處理

該介面用於顯示標籤頁(tabBar)。相關問題請參見 tabBar 常見問題

程式碼範例

my.showTabBar 程式碼範例如下:

my.showTabBar({
    animation: true
})

入參

Object 類型,屬性如下:

屬性

類型

必填

說明

animation

Boolean

是否需要動畫效果,預設無。

success

Function

介面調用成功的回呼函數。

fail

Function

介面調用失敗的回呼函數。

complete

Function

介面調用結束的回呼函數(調用成功、失敗都會執行)。

my.showTabBarRedDot

版本要求:基礎庫 1.11.0 或更高版本,若版本較低,建議做 相容處理

重要

IDE 暫不支援類比,請以真機調試效果為準。

該介面用於顯示標籤頁(tabbar)某一項的右上方的紅點。相關問題請參見 tabBar 常見問題

程式碼範例

my.showTabBarRedDot 程式碼範例如下:

my.showTabBarRedDot({
  index: 0
})

入參

Object 類型,屬性如下:

屬性

類型

必填

說明

index

Number

標籤頁的項數序號,從左邊開始計數。

success

Function

介面調用成功的回呼函數

fail

Function

介面調用失敗的回呼函數

complete

Function

介面調用結束的回呼函數(調用成功、失敗都會執行)

onTabItemTap

版本要求:基礎庫 1.11.0 或更高版本,若版本較低,建議做 相容處理

該介面用於點擊標籤(tab)時觸發,可用於監聽 tabBar 點擊事件。相關問題請參見 tabBar 常見問題

程式碼範例

onTabItemTap 程式碼範例如下:

//.js
Page({
  onTabItemTap(item) {
    console.log(item.index)
    console.log(item.pagePath)
    console.log(item.text)
  }
})

tabBar 常見問題

功能支援類問題

  • Q:tabBar 頁面是否支援帶參數跳轉?

    A:支援。

  • Q:如何監聽 tabBar 點擊事件?

    A:在小程式頁面中用 onTabItemTap 即可監聽 tabBar 點擊事件。

  • Q:tabBar 的 icon 表徵圖是否支援 svg 格式?

    A:不支援 svg 格式,只支援 png/jpeg/jpg/gif 圖片格式。

  • Q:如何設定 tab 的樣式?

    A:可以在 JSON 檔案中直接設定樣式(程式碼範例如下所示),或者調用 my.setTabBarStyle API 進行設定。

  "tabBar": {
    "textColor": "#404040",
    "selectedColor": "#108ee9",
    "backgroundColor": "#F5F5F9"
  }

請求異常類問題

  • Q:切換 tabBar 時報錯“Cannot read property ‘getCurrentPages’ of undefined”,如何處理? A:tabBar 路徑錯誤導致,請檢查 tabBar 路徑。

  • Q:跳轉頁面後,為何不顯示 tabBar?

    A:通過頁面跳轉(my.navigateTo)或者頁面重新導向(my.redirectTo)所到達的頁面,不會顯示底部的 tab 欄。另外,tabBar 的第一個頁面必須是首頁。

  • Q:tabBar 頁面不支援帶參數跳轉嗎?

    A:tabBar 頁面目前不支援帶參數跳轉,建議跳轉傳參使用緩衝或者全域變數。

  • Q:小程式進入 tabBar 頁面,如何擷取上一級頁面路徑?

    A:在進入頁面的時候將當前頁面路徑存入全域,在切換 tabBar 頁面的時候拿全域的地址屬性即可擷取上一級頁面路徑。

  • Q:在 IDE 中調試,為何 tabBar 切換時 onshow、onload 生命週期函數不執行?

    A:tabBar 切換需要在真機上測試,IDE 中調試時不觸發。