当前位置: 首页 > news >正文

Uni-app入门到精通:tabBar节点实现多页面的切换

  tabBar节点用于实现多页面的切换。对于一个多tabBar应用,可以通过tabBar节点配置项指定一级导航栏,以及tabBar切换时显示的对应页面。在pages.json中提供tabBar节点配置,不仅是为了方便快速开发导航,更重要的是提示App平台和小程序平台的性能。tabBar节点的常用属性如下:

属性类型默认值描述
colorHexColor用于设置tabBar上的文字默认颜色,必填
selectedColorHexColor用于设置tabBar上的文字被选中时的颜色,必填

backgroundColor

HexColor用于设置tabBar的背景颜色
borderStyleStringblack用于设置tabBar上边框的颜色,可选值有black/white
listArray用于设置tabBar的列表,最少有2个,最多有5个

list接收一个数组,数组中每一项都是一个对象。list数组中对象的属性如下:

属性类型描述
gagePathString用于设置页面路径,必须在pages节点中先定义,必填
textString用于设置tabBar上的按钮文字,在App和H5平台非必填
iconPathString用于设置图片路径,icon大小限制为40KB,建议尺寸为81px×81px,当position为top时,此属性无效,不支持网络图片和字体图标
selectedlconPathString

选中图片的路径,图片要求与iconPath的一致

  实现一个有两个页面的tabBar页面的应用。

  在本例中,沿用前面的uniappch02项目,新建两个tabBar页面,分别为基础组件页和flex布局页。在内置浏览器上显示的效果如下:

实现步骤

(1)准备tabBar上的图标。打开iconfont官网,在搜索框中输入”组件“。

  下载具有两种颜色(亮色,暗色)的、尺寸为64px×64px的png格式的同一种透明图片。再下载一组”flex“图标,然后将下载的图标复制到static。

(2)新建页面。在pages节点上点击,在弹出的列表中选择【新建页面】,打开【新建uni-app页面】窗口,输入文件名,单击【创建】按钮。

新建compony.vue、flex.vue文件。

打开compony.vue、flex.vue文件,分别在<view></view>之间输入内容:基础组件演示、弹性盒子布局flex。如以下:

<template>
	<view>
		基础组件演示
	</view>
</template>
<template>
	<view>
		弹性盒子布局flex
	</view>
</template>

(3)修改pages.json文件。打开pages.json文件,可以看到在pages节点多了两个页面。将compony页面移到第一项,并修改navigationBarTitleText属性,然后新增tabBar节点。

{
	"pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
		{
			"path" : "pages/compony/compony",
			"style" :                                                                                    
			{
			    "navigationBarTitleText": "基础组件",
			    "enablePullDownRefresh": false
			}
			
		}
	    ,{
            "path": "pages/index/index",
            "style": {
            	"navigationBarTitleText": "uni-app"
            }
            
        }
        ,{
            "path" : "pages/flex/flex",
            "style" :                                                                                    
            {
                "navigationBarTitleText": "flex布局",
                "enablePullDownRefresh": false
            }
            
        }
    ],
	"tabBar":{
		"backgroundColor": "#F8F8F8",
		"color": "#8F8F94",
		"list": [
			{
				"text": "组件",
				"pagePath": "pages/compony/compony",
				"iconPath": "static/开发组件.png",
				"selectedIconPath": "static/开发组件 (1).png"
			},
			{
				"text": "flex布局",
				"pagePath": "pages/flex/flex",
				"iconPath": "static/Flex布局.png",
				"selectedIconPath": "static/Flex布局 (1).png"
			}
		]
	},
	"globalStyle": {
		"navigationBarTextStyle": "black",
		"navigationBarTitleText": "uni-app",
		"navigationBarBackgroundColor": "#F8F8F8",
		"backgroundColor": "#F8F8F8"
	},
	"uniIdRouter": {}
}

相关文章:

  • Open GL ES ->模型矩阵、视图矩阵、投影矩阵等变换矩阵数学推导以及方法接口说明
  • 深入解析 JSON-RPC:从基础到高级应用
  • VUE3+VITE 爬坑笔记
  • 判断质数及其优化方法
  • FTP文件传输协议
  • 【redis】数据类型之Stream
  • Java多线程与高并发专题—— CyclicBarrier 和 CountDownLatch 有什么异同?
  • python面试-基础
  • Android系统启动流程学习(四)应用程序进程启动过程
  • MySQL Binlog
  • 解析 HTML 网站架构规范
  • 使用crontab 每两分钟执行一次 进入 /var/xxx 执行 git pull
  • 开发DOM更新算法
  • 经典算法 整数因子分解问题
  • 二分算法-day2
  • 【C#】关键字 volatile
  • 【驱动智能交通的关键引擎 解析C-V2X发展挑战】
  • (面试常问)C++中的static关键字——静态局部、静态全局、静态函数、静态与单例线程安全性(C++11之后)等
  • ​Android Gradle 插件(AGP)版本与 ​Gradle 版本需要严格对应
  • 体育赛事即时比分 分析页面的开发技术架构与实现细节
  • 家政阿姨如何炼成全国劳模?做饭、收纳、养老、外语样样都会
  • 秦洪看盘|资金切换主线,重构市场风格
  • 解密62个“千亿县”:强者恒强,新兴产业助新晋县崛起
  • 违规行为屡禁不止、责任边界模糊不清,法治日报:洞穴探险,谁为安全事故买单?
  • 2025上海车展 | 当智驾不再让人兴奋,汽车智能化暗战升级
  • 《中国奇谭》首部动画电影《浪浪山小妖怪》定档8月2日