uniapp底部栏设置未读红点或角标
uniapp底部栏设置未读红点或角标
pages.json
{ ... // 省略 "tabBar": { "color": "#333333", "selectedColor": "#3296fa", "backgroundColor": "#ffffff", "borderStyle": "white", "list": [ { "pagePath": "pages/sys/workbench/index", "iconPath": "static/images/tabbar/apply_1.png", "selectedIconPath": "static/images/tabbar/apply_2.png", "text": "首页" }, { "pagePath": "pages/sys/msg/index", "iconPath": "static/images/tabbar/msg_1.png", "selectedIconPath": "static/images/tabbar/msg_2.png", "text": "消息" }, { "pagePath": "pages/sys/user/index", "iconPath": "static/images/tabbar/my_1.png", "selectedIconPath": "static/images/tabbar/my_2.png", "text": "我的" } ] }, // 底部按钮栏配置 }
workbench/index.vue(路径自定义,看具体业务)
onShow() { this.getMessageInfo(); } getMessageInfo() { this.$u.api.message.noticeAll().then((res) => { let count = res.data.earlyNum + res.data.newsNum + res.data.noticeNum + res.data.taskNum; if (count > 0) { uni.setTabBarBadge({ index: 0, text: "11", }); uni.setTabBarBadge({ index: 1, text: "99+", }); } else { uni.removeTabBarBadge({ index: 1, text: "", }); } }); },
API
uni.setTabBarBadge(OBJECT)
为 tabBar 某一项的右上角添加文本。
OBJECT参数说明:
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
index | Number | 是 | tabBar的哪一项,从左边算起 |
text | String | 是 | 显示的文本,不超过 3 个半角字符 |
success | Function | 否 | 接口调用成功的回调函数 |
fail | Function | 否 | 接口调用失败的回调函数 |
complete | Function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
uni.removeTabBarBadge(OBJECT)
移除 tabBar 某一项右上角的文本。
OBJECT参数说明:
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
index | Number | 是 | tabBar的哪一项,从左边算起 |
success | Function | 否 | 接口调用成功的回调函数 |
fail | Function | 否 | 接口调用失败的回调函数 |
complete | Function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
uni.showTabBarRedDot(OBJECT)
显示 tabBar 某一项的右上角的红点。
OBJECT参数说明:
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
index | Number | 是 | tabBar的哪一项,从左边算起 |
success | Function | 否 | 接口调用成功的回调函数 |
fail | Function | 否 | 接口调用失败的回调函数 |
complete | Function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
uni.hideTabBarRedDot(OBJECT)
隐藏 tabBar 某一项的右上角的红点。
OBJECT参数说明:
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
index | Number | 是 | tabBar的哪一项,从左边算起 |
success | Function | 否 | 接口调用成功的回调函数 |
fail | Function | 否 | 接口调用失败的回调函数 |
complete | Function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
uni.onTabBarMidButtonTap(CALLBACK)
监听中间按钮的点击事件
Tip
- tabbar是原生的,层级高于前端元素
- uni-app插件市场有封装的前端tabbar,但性能不如原生tabbar
- 如果想要一个中间带+号的tabbar,在HBuilderX中新建uni-app项目、选择 底部选项卡 模板
- 以上大部分操作 tabbar 的 API 需要在 tabbar 渲染后才能使用,避免在 tabbar 未初始化前使用
本文来自博客园,作者:毛三仙,转载请注明原文链接:https://www.cnblogs.com/ProgrammerMao-001/p/18342774
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了