如果应用是一个多 tab 应用,可以通过 tabBar 配置项指定一级导航栏,以及 tab 切换时显示的对应页。
如果需要使用原生的tabbar,则需要在pages.json中进行配置:
建议使用原生tabbar进行开发,非原生的tabbar可能会有卡顿和延迟
在 pages.json 中提供 tabBar 配置,不仅仅是为了方便快速开发导航,更重要的是在App和小程序端提升性能。在这两个平台,底层原生引擎在启动时无需等待js引擎初始化,即可直接读取 pages.json 中配置的 tabBar 信息,渲染原生tab。
- tabbar 的页面展现过一次后就保留在内存中,再次切换 tabbar 页面,只会触发每个页面的onShow,不会再触发onLoad。
属性 |
类型 |
必填 |
默认值 |
描述 |
平台差异说明 |
color |
HexColor |
是 |
|
tab 上的文字默认颜色 |
|
selectedColor |
HexColor |
是 |
|
tab 上的文字选中时的颜色 |
|
backgroundColor |
HexColor |
是 |
|
tab 的背景色 |
|
borderStyle |
String |
否 |
black |
tabbar 上边框的颜色,可选值 black/white |
App 2.3.4+ 支持其他颜色值、H5 3.0.0+ |
blurEffect |
String |
否 |
none |
iOS 高斯模糊效果,可选值 dark/extralight/light/none(参考:使用说明) |
App 2.4.0+ 支持、H5 3.0.0+(只有最新版浏览器才支持) |
list |
Array |
是 |
|
tab 的列表,详见 list 属性说明,最少2个、最多5个 tab |
|
position |
String |
否 |
bottom |
可选值 bottom、top |
top 值仅微信小程序支持 |
fontSize |
String |
否 |
10px |
文字默认大小 |
App 2.3.4+、H5 3.0.0+ |
iconWidth |
String |
否 |
24px |
图标默认宽度(高度等比例缩放) |
App 2.3.4+、H5 3.0.0+ |
spacing |
String |
否 |
3px |
图标和文字的间距 |
App 2.3.4+、H5 3.0.0+ |
height |
String |
否 |
50px |
tabBar 默认高度 |
App 2.3.4+、H5 3.0.0+ |
midButton |
Object |
否 |
|
中间按钮 仅在 list 项为偶数时有效 |
App 2.3.4+、H5 3.0.0+ |
其中 list 接收一个数组,数组中的每个项都是一个对象,其属性值如下:
属性 |
类型 |
必填 |
说明 |
pagePath |
String |
是 |
页面路径,必须在 pages 中先定义 |
text |
String |
是 |
tab 上按钮文字,在 App 和 H5 平台为非必填。例如中间可放一个没有文字的+号图标 |
iconPath |
String |
否 |
图片路径,icon 大小限制为40kb,建议尺寸为 81px * 81px,当 position 为 top 时,此参数无效,不支持网络图片,不支持字体图标 |
selectedIconPath |
String |
否 |
选中时的图片路径,icon 大小限制为40kb,建议尺寸为 81px * 81px ,当 position 为 top 时,此参数无效 |
midButton 属性说明
属性 |
类型 |
必填 |
默认值 |
描述 |
width |
String |
否 |
80px |
中间按钮的宽度,tabBar 其它项为减去此宽度后平分,默认值为与其它项平分宽度 |
height |
String |
否 |
50px |
中间按钮的高度,可以大于 tabBar 高度,达到中间凸起的效果 |
text |
String |
否 |
|
中间按钮的文字 |
iconPath |
String |
否 |
|
中间按钮的图片路径 |
iconWidth |
String |
否 |
24px |
图片宽度(高度等比例缩放) |
backgroundImage |
String |
否 |
|
中间按钮的背景图片路径 |
"tabBar": {
"color": "#8A8A8A",
"selectedColor": "#0081ff",
"borderStyle": "#EEEEEE",
"backgroundColor": "#F8F8F8",
"list": [ {
"pagePath": "pages/index/index",
"iconPath": "static/index.png",
"selectedIconPath": "static/index_select.png",
"text": "概况"
},
{
"pagePath": "pages/user/user",
"iconPath": "static/user.png",
"selectedIconPath": "static/user_select.png",
"text": "用户"
}
],
"midButton": {
"height": "60px",
"iconPath": "static/add.png",
"text": "添加"
}
}
本课引用链接:
阿里巴巴矢量图标库:https://www.iconfont.cn/
注意事项:https://uniapp.dcloud.io/collocation/pages?id=tips-tabbar
更多tabbar操作: https://uniapp.dcloud.io/api/ui/tabbar?id=settabbaritem
可参考官方例程: 新建-项目-uni-app-底部选项卡模板
home.php?mod=space&uid=70631 课件下载、更多教程、遇到问题或者进行交流,请到: https://bbs.125.la/forum.php?mod=forumdisplay&fid=226 进行发帖交流
加QQ群:326576256
视频教程在线观看:https://www.eyuyan.tv/?mod=play&tvid=3218
课程课件和源码下载:【从资源网下载】
从GIT关注:
https://gitee.com/JYtechnology/uniapp-learn
|