uni-app學習筆記二十一--pages.json中tabBar設置底部菜單項和圖標

如果應用是一個多 tab 應用,可以通過 tabBar 配置項指定一級導航欄,以及 tab 切換時顯示的對應頁。

在 pages.json 中提供 tabBar 配置,不僅僅是為了方便快速開發導航,更重要的是在App和小程序端提升性能。在這兩個平臺,底層原生引擎在啟動時無需等待js引擎初始化,即可直接讀取 pages.json 中配置的 tabBar 信息,渲染原生tab。

Tips

  • 當設置 position 為 top 時,將不會顯示 icon
  • tabBar 中的 list 是一個數組,最少要配置2個、最多只能配置5個 tab,tab 按數組的順序排序。
  • tabbar 切換第一次加載時可能渲染不及時,可以在每個tabbar頁面的onLoad生命周期里先彈出一個等待雪花(hello uni-app使用了此方式)
  • tabbar 的頁面展現過一次后就保留在內存中,再次切換 tabbar 頁面,只會觸發每個頁面的onShow,不會再觸發onLoad。
  • 頂部的 tabbar 目前僅微信小程序上支持。需要用到頂部選項卡的話,建議不使用 tabbar 的頂部設置,而是自己做頂部選項卡,可參考 hello uni-app->模板->頂部選項卡。

屬性說明:

屬性類型必填默認值描述平臺差異說明
colorHexColortab 上的文字默認顏色
selectedColorHexColortab 上的文字選中時的顏色
backgroundColorHexColortab 的背景色
borderStyleStringblacktabbar 上邊框的顏色,可選值 black/white,black對應顏色rgba(0,0,0,0.33),white對應顏色rgba(255,255,255,0.33)。App 2.3.4+ 、H5 3.0.0+
listArraytab 的列表,詳見 list 屬性說明,最少2個、最多5個 tab

其中 list 接收一個數組,數組中的每個項都是一個對象,其屬性值如下:

屬性類型必填說明平臺差異
pagePathString頁面路徑,必須在 pages 中先定義
textStringtab 上按鈕文字,在 App 和 H5 平臺為非必填。例如中間可放一個沒有文字的+號圖標
iconPathString圖片路徑,icon 大小限制為40kb,建議尺寸為 81px * 81px,當 position 為 top 時,此參數無效,不支持網絡圖片,不支持字體圖標
selectedIconPathString選中時的圖片路徑,icon 大小限制為40kb,建議尺寸為 81px * 81px ,當 position 為 top 時,此參數無效
visibleBoolean該項是否顯示,默認顯示App (3.2.10+)、H5 (3.2.10+)
iconfontObject字體圖標,優先級高于 iconPathApp(3.4.4+)、H5 (3.5.3+)

tarBar寫于page.json中,與pages,globalStyle并列

示例代碼:

"tabBar": {"color": "#999","selectedColor": "#2B9939","borderStyle": "white","list": [{"pagePath" : "pages/index/index","text": "首頁","iconPath": "/static/images/tabBar/home.png","selectedIconPath": "/static/images/tabBar/home-h.png"},{"pagePath" : "pages/classfy/classfy","text": "分類","iconPath": "/static/images/tabBar/classify.png","selectedIconPath": "/static/images/tabBar/classify-h.png"},{"pagePath" : "pages/user/user","text": "我的","iconPath": "/static/images/tabBar/user.png","selectedIconPath": "/static/images/tabBar/user-h.png"}]}

?效果:

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/82539.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/82539.shtml
英文地址,請注明出處:http://en.pswp.cn/web/82539.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

行業分析---小米汽車2025第一季度財報

1 背景 最近幾年是新能源汽車的淘汰賽,前短時間比亞迪再次開始了降價,導致一片上市車企的股價大跌,足見車圈現在的敏感度。因此筆者會一直跟蹤新勢力車企的財報狀況,對之前財報分析感興趣的讀者朋友可以參考以下博客:…

Python 解釋器安裝全攻略(適用于 Linux / Windows / macOS)

目錄 一、Windows安裝Python解釋器1.1 下載并安裝Python解釋1.2 測試安裝是否成功1.3 設置pip的國內鏡像------永久配置 二、macOS安裝Python解釋器三、Linux下安裝Python解釋器3.1 Rocky8.10/Rocky9.5安裝Python解釋器3.2 Ubuntu2204/Ubuntu2404安裝Python解釋器3.3 設置pip的…

考研系列—操作系統:沖刺筆記(1-3章)

目錄 第一章 計算機系統概述 1.基本概念 2.內核態和用戶態 3.中斷(外中斷)、異常(內中斷-與當前執行的) 4.系統調用 5.操作系統引導程序 2021年真題: 6.操作系統結構 大綱新增 (1)分層結構 (2)模塊化 (3)外核 7.虛擬機 第二章 進程管理 1.畫作業運行的順序和甘…

監控 100 臺服務器磁盤內存CPU利用率

監控 100 臺服務器磁盤,內存,CPU利用率腳本 以下是一個優化后的監控腳本,用于同時監控100臺服務器的磁盤、內存和CPU利用率,并支持并發執行以提高效率: #!/bin/bash # 服務器監控腳本 - 支持并發獲取100臺服務器系統指標 # 功能…

[5-02-04].第01節:Jmeter環境搭建:

JMeter筆記大綱 Jmeter依賴于JDK,所以必須確保當前計算機上已經安裝了JDK,并且配置了環境變量 一、JMeter概述: 1.1.JMeter是什么: JMeter是Appache組織使用java開發的一款測試工具 可以用于對服務器、網絡或對象模擬巨大的負載…

【獸醫處方專用軟件】佳易王獸醫電子處方軟件:高效智能的寵物診療管理方案

一、軟件概述與核心優勢 (一)試用版獲取方式 資源下載路徑:進入博主頭像主頁第一篇文章末尾,點擊卡片按鈕;或訪問左上角博客主頁,通過右側按鈕獲取詳細資料。 說明:下載文件為壓縮包&#xff…

MapReduce(期末速成版)

起初在B站看3分鐘的速成視頻,感覺很多細節沒聽懂。 具體例子解析(文件內容去重) 對于兩個輸入文件,即文件A 和文件B,請編寫MapReduce 程序,對兩個文件進行合并,并剔除 其中重復的內容,得到一個新的輸出文件…

Java高級 | 【實驗四】Springboot 獲取前端數據與返回Json數據

隸屬文章: Java高級 | (二十二)Java常用類庫-CSDN博客 系列文章: Java高級 | 【實驗一】Spring Boot安裝及測試 最新-CSDN博客 Java高級 | 【實驗二】Springboot 控制器類相關注解知識-CSDN博客 Java高級 | 【實驗三】Springboot …

從零打造AI面試系統全棧開發

🤖 AI面試系統開發完整教程 📋 項目概述 本教程將帶你從零開始構建一個完整的AI面試系統,包含前端、后端、AI集成和部署的全流程。 源碼地址 技術棧 前端: React TypeScript Vite Vaadin Components后端: Spring Boot Spring Securi…

【硬件】PCIe協議 | 電腦的高速公路

文章目錄 PCIe | 外圍設備高速互聯通道(peripheral component interconnect express)的核心概念和應用 基礎概念 1.1 電腦內的”高速“,連接CPU、顯卡、SSD(固態硬盤)等核心組件;數據傳輸速度極快&#xff…

【 Redis | 完結篇 緩存優化 】

前言:本節包含常見redis緩存問題,包含緩存一致性問題,緩存雪崩,緩存穿透,緩存擊穿問題及其解決方案 1. 緩存一致性 我們先看下目前企業用的最多的緩存模型。緩存的通用模型有三種: 緩存模型解釋Cache Asi…

MySQL訪問控制與賬號管理:原理、技術與最佳實踐

MySQL的安全體系建立在精細的訪問控制和賬號管理機制上。本文基于MySQL 9.3官方文檔,深入解析其核心原理、關鍵技術、實用技巧和行業最佳實踐。 一、訪問控制核心原理:雙重驗證機制 連接驗證 (Connection Verification) 客戶端發起連接時,MySQL依據user_name@host_name組合進…

Go語言爬蟲系列教程4:使用正則表達式解析HTML內容

Go語言爬蟲系列教程4:使用正則表達式解析HTML內容 正則表達式(Regular Expression,簡稱RegEx)是處理文本數據的利器。在網絡爬蟲中,我們經常需要從HTML頁面中提取特定的信息,正則表達式就像一個智能的&quo…

筆記 | docker構建失敗

筆記 | docker構建失敗 構建報錯LOG1 rootThinkPad-FLY:/mnt/e/02-docker/ubunutu-vm# docker build -t ubuntu16.04:v1 . [] Building 714.5s (6/11) docker:default> [internal] load …

CentOS 7.9 安裝 寶塔面板

在 CentOS 7.9 上安裝 寶塔面板(BT Panel) 的完整步驟如下: 1. 準備工作 系統要求: CentOS 7.x(推薦 7.9)內存 ≥ 1GB(建議 2GB)硬盤 ≥ 20GBroot 權限(需使用 root 用戶…

第 86 場周賽:矩陣中的幻方、鑰匙和房間、將數組拆分成斐波那契序列、猜猜這個單詞

Q1、[中等] 矩陣中的幻方 1、題目描述 3 x 3 的幻方是一個填充有 從 1 到 9 的不同數字的 3 x 3 矩陣,其中每行,每列以及兩條對角線上的各數之和都相等。 給定一個由整數組成的row x col 的 grid,其中有多少個 3 3 的 “幻方” 子矩陣&am…

【AI News | 20250604】每日AI進展

AI Repos 1、jaaz Jaaz是一款免費開源的AI設計代理,作為Lovart的本地替代品,它能實現圖像、海報、故事板的設計、編輯和生成。Jaaz集成了LLM,可智能生成提示并批量生成圖像,支持Ollama、Stable Diffusion等本地及API模型。用戶可…

Docker load 后鏡像名稱為空問題的解決方案

在使用 docker load命令從存檔文件中加載Docker鏡像時,有時會遇到鏡像名稱為空的情況。這種情況通常是由于在保存鏡像時未正確標記鏡像名稱和標簽,或者在加載鏡像時出現了意外情況。本文將介紹如何診斷和解決這一問題。 一、問題描述 當使用 docker lo…

SQL進階之旅 Day 14:數據透視與行列轉換技巧

【SQL進階之旅 Day 14】數據透視與行列轉換技巧 開篇 歡迎來到“SQL進階之旅”系列的第14天!今天我們將探討數據透視與行列轉換技巧,這是數據分析和報表生成中的核心技能。無論你是數據庫開發工程師、數據分析師還是后端開發人員,行轉列或列…

haribote原型系統改進方向

在時鐘中斷、計時器和鍵盤輸入方面,一些創新性的改進方向: 時鐘中斷 (PIT / inthandler20) 動態節拍 (Tickless Kernel):當前的 PIT 中斷以固定頻率(約 100Hz)觸發,即使系統空閑或沒有即將到期的計時器&…