uni原生导航栏相关设置

动态设置某一项内容

使用场景:不同角色显示不同导航栏或设置不同名称,不同图标
API: uni.setTabBarItem(OBJECT)

属性类型默认值必填说明
indexnumbertabBar的哪一项,从左边算起(从0开始)
textStringtab上的按钮文字
iconPathString图片路径,icon 大小限制为 40kb,建议尺寸为 81px * 81px,当 position 为 top 时,此参数无效。微信小程序 2.7.0+、支付宝小程序支持网络图片,其他平台暂不支持网络图片
selectedIconPathString选中时的图片路径,icon 大小限制为 40kb,建议尺寸为 81px * 81px ,当 position 为 top 时,此参数无效
pagePathString页面绝对路径,必须在 pages 中先定义,被替换掉的 pagePath 不会变成普通页面(仍然需要使用 uni.switchTab 跳转)
visibleBooleantrue该项是否显示
iconfontObject字体图标,优先级高于 iconPath
successFuntion接口调用成功的回调函数
failFuntion接口调用失败的回调函数
completeFuntion接口调用结束的回调函数(调用成功、失败都会执行)

iconfont参数说明

属性类型说明
textString字库 Unicode 码
selectedTextString选中后字库 Unicode 码
fontSizeString字体图标字号(px)
colorString字体图标颜色
selectedColorString字体图标选中颜色
//首先在pages.json文件tabBar中设置
{
	"pages": [{
		"path" : "pages/index",
		"style" : 
		{
			"navigationBarTitleText" : "首页",
			"enablePullDownRefresh" : false,
			"navigationStyle": "custom"
		}
	}....],
	"globalStyle": { ... },
	"tabBar": {
		"borderStyle": "white",
		"backgroundColor": "#FFF",
		"color": "#999",
		"selectedColor": "#000",
		"list": [
			{
				"pagePath": "pages/index",
				"text": "首页"
			},
			{
				"pagePath": "pages/statistics/index",
				"text": "统计"
			},
			{
				"pagePath": "pages/my/my",
				"text": "我的"
			}
		]
	}
}
//index.vue首页
<script>
export default{
	data(){
		return{}
	},
	onShow(){
		/*获取用户角色,根据用户角色设置导航*/
		let userType = = uni.getStorageSync('userInfo').userType;
		/*修改第二个导航名称*/
		if( userType == 0 ){
			uni.setTabBarItem({
			  index: 1,
			  text: '圈子'
			})
		}
		/*隐藏第二个导航*/
		/*if( userType == 0 ){
			uni.setTabBarItem({
			  index: 1,
			  visible:false
			})
		}*/
		/*其他修改参照上面参数*/
	},
	methods:{}
}
</script>

uni.setTabBarItem官网参考

动态设置tabBar的整体样式

API:uni.setTabBarStyle(OBJECT)
在这里插入图片描述
backgroundImage创建线性渐变说明

backgroundImage: linear-gradient(to top, #a80077, #66ff00);
目前暂不支持 radial-gradient(径向渐变)。
目前只支持两种颜色的渐变,渐变方向如下:
to right:从左向右渐变
to left:从右向左渐变
to bottom:从上到下渐变
to top:从下到上渐变
to bottom right:从左上角到右下角
to top left:从右下角到左上角

隐藏导航栏

API : uni.hideTabBar(OBJECT),所有平台均支持

OBJECT参数说明

参数类型默认值必填说明
animationbooleanfalse是否需要动画效果,仅微信小程序、支付宝小程序、百度小程序、抖音小程序、飞书小程序、QQ小程序、快手小程序、京东小程序支持
successFuntion接口调用成功的回调函数
failFuntion接口调用失败的回调函数
completeFuntion接口调用结束的回调函数(调用成功、失败都会执行)

显示导航栏

API : uni.showTabBar(OBJECT)

OBJECT参数说明

参数类型默认值必填说明
animationbooleanfalse是否需要动画效果,仅微信小程序、支付宝小程序、百度小程序、抖音小程序、飞书小程序、QQ小程序、快手小程序、京东小程序支持
successFuntion接口调用成功的回调函数
failFuntion接口调用失败的回调函数
completeFuntion接口调用结束的回调函数(调用成功、失败都会执行)

为某一项右上角添加文本

API : uni.setTabBarBadge(OBJECT)

参数类型必填说明
indexNumbertabBar的哪一项,从左边算起
textString显示的文本,不超过 3 个半角字符
successFunction接口调用成功的回调函数
failFunction接口调用失败的回调函数
completeFunction接口调用结束的回调函数(调用成功、失败都会执行)
//示例
uni.setTabBarBadge({
  index: 0,
  text: '1'
})

移除 tabBar 某一项右上角的文本

API : uni.removeTabBarBadge(OBJECT)

参数类型必填说明
indexNumbertabBar的哪一项,从左边算起
textString显示的文本,不超过 3 个半角字符
successFunction接口调用成功的回调函数
failFunction接口调用失败的回调函数
completeFunction接口调用结束的回调函数(调用成功、失败都会执行)

显示 tabBar 某一项右上角的文本

API : uni.showTabBarRedDot(OBJECT)
参数同上

隐藏 tabBar 某一项右上角的文本

API : uni.hideTabBarRedDot(OBJECT)
参数同上

监听中间按钮点击事件

API : uni.onTabBarMidButtonTap(CALLBACK)

在这里插入图片描述

  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值