uni-app 设置tabBar的setTabBarBadge购物车/消息等角标

目录

一、效果

二、代码实现

只要使用uni.setTabBarBadge和uni.removeTabBarBadge来进行对红点的设置和移除。

主要代码:

javascript 复制代码
//设置红点
uni.setTabBarBadge({
	index: 1, // 底部菜单栏的索引(从0开始)
	text:'99', // 要显示的文本(必须是字符串类型)
});
//移除红点
uni.removeTabBarBadge({
	index: 1 // 底部菜单栏的索引(从0开始)
});

二、全部代码

注意: 以下代码在使用页面首页都添加上,才能保证一进入小程序首页,可以直接看到人脉处有无红点。

1.index.vue

首页页面

javascript 复制代码
<script>
	export default {
		data() {
			return {
				tabBarNum: '' //底部消息数量
			}
		},
		onLoad() {
			this.footMsgFun()  //调用底部方法
		},
		onShow() {
			this.footMsgFun()  //调用底部方法
		},
		methods: {
			//底部:人脉红点显示
			footMsgFun() {
				var that = this
				this.$api.appPlateForm('POST', this.$url.all_message, '', function(res) {
					if (res.code == '200') {
						//1.获取到接口里,消息的数量
						that.tabBarNum = res.data.num
						
						//2.关键代码:设置红点
						if (that.tabBarNum > 0) {//设置底部消息通知
							uni.setTabBarBadge({
								index: 1, // 人脉页面在底部菜单栏的索引
								text: String(that.tabBarNum), // 要显示的文本(必须是字符串类型)
							});
						} else {  //移除底部消息通知
							uni.removeTabBarBadge({
								index: 1 // 人脉页面在底部菜单栏的索引
							});
						}
					}
				})
			},
			
		}
	}
</script>

2.cart.vue

购物车页面

javascript 复制代码
<script>
	export default {
		data() {
			return {
				tabBarNum: '' //底部消息数量
			}
		},
		onLoad() {
			this.footMsgFun()  //调用底部方法
		},
		onShow() {
			this.footMsgFun()  //调用底部方法
		},
		methods: {
			//底部:人脉红点显示
			footMsgFun() {
				var that = this
				this.$api.appPlateForm('POST', this.$url.all_message, '', function(res) {
					if (res.code == '200') {
						//1.获取到接口里,消息的数量
						that.tabBarNum = res.data.num
						
						//2.关键代码:设置红点
						if (that.tabBarNum > 0) {//设置底部消息通知
							uni.setTabBarBadge({
								index: 1, // 人脉页面在底部菜单栏的索引
								text: String(that.tabBarNum), // 要显示的文本(必须是字符串类型)
							});
						} else {  //移除底部消息通知
							uni.removeTabBarBadge({
								index: 1 // 人脉页面在底部菜单栏的索引
							});
						}
					}
				})
			},
			
		}
	}
</script>

三、真实案例

javascript 复制代码
		onLoad() {
			this.getCartData();
		},
		onShow() {
			this.getCartData();
		},
		mounted() {
			this.getCartData();
		},
		methods: {
			getCartData() {
				let self = this;
				self.isloadding = true;
				self._get('index/index', {
					url: self.url
				}, function(res) {
					self.cart_total_num = res.data.cart_total_num;
					if (self.cart_total_num > 0) {
						uni.setTabBarBadge({
							index: 3, 
							text: String(self.cart_total_num), 
						});
					} else { 
						uni.removeTabBarBadge({
							index: 3 
						});
					}
				});
			},
}

参考

官网
参考使用这个大佬

大佬2

最后

感觉文章好的话记得点个心心和关注和收藏,有错的地方麻烦指正一下,如果需要转载,请标明出处,多谢!!!

相关推荐
AI多Agent协作实战派29 分钟前
AI多Agent协作系统实战(二十二):从6列到12列——任务监控报告的进化之路
java·人工智能·uni-app·bug
小杨小杨、努力变强!3 小时前
VS Code运行HBuilder X中的uni-app项目
vscode·uni-app·uni-app run
码兄科技12 小时前
实战:基于Spring Boot + UniApp的地理信息小程序开发
spring boot·后端·uni-app
2501_916007471 天前
iOS和macOS应用程序性能分析和优化工具使用综合指南
android·macos·ios·小程序·uni-app·iphone·webview
2501_916007472 天前
深入理解HTTPS对称与非对称加密机制及Charles抓包实践
网络协议·http·ios·小程序·https·uni-app·iphone
小徐_23332 天前
AI 写 wot-ui 总在猜 API?我们把 Skills、MCP 和 CLI 都配好了
前端·uni-app·ai编程
Liu.7742 天前
uni-app 组件 uni-easyinput 常见 Bug 及解决方案
uni-app·bug
小徐_23333 天前
uni-app 项目别再从零搭了!3 个 Wot UI 起手模板怎么选?
前端·uni-app
蜡台3 天前
uniapp pdf文件预览组件
pdf·uni-app·合同·pdfh5
凡泰AI3 天前
如何借助MCP打通企业APP内部服务:从统一调用到小程序承接
小程序·uni-app·app·mpaas·mcp·小程序容器