bm.data.forEach((item, index) => {
const tabBarItem = {
index: index,
text: item.text || ''
};
if (item.imgUrl) {
tabBarItem.iconPath = this.common.getImgUrl(item.imgUrl);
}
if (item.checkedImgUrl) {
tabBarItem.selectedIconPath = this.common.getImgUrl(item.checkedImgUrl);
}
tabBarItem.success = (res)=> {
console.log('success-tabBarItem----',res);
}
tabBarItem.fail = (res)=> {
console.log('fail-tabBarItem----',res);
}
tabBarItem.complete = (res)=> {
console.log('complete-tabBarItem----',res);
}
console.log('tabBarItem-----------',tabBarItem);
uni.setTabBarItem(tabBarItem);
});
- 发布:2026-03-30 10:22
- 更新:2026-03-30 10:24
- 阅读:12
产品分类: uniapp/小程序/微信
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: windows10
HBuilderX类型: 正式
HBuilderX版本号: 5.05
第三方开发者工具版本号: 2.01.2510280
基础库版本号: 3.15.1
项目创建方式: HBuilderX
示例代码:
操作步骤:
真机调试打开微信小程序不显示tabbar
真机调试打开微信小程序不显示tabbar
预期结果:
正常显示设置好的tabbar
正常显示设置好的tabbar
实际结果:
未显示tabbar
未显示tabbar
bug描述:
在IOS真机调试时,使用wx.setTabBarItem设置tabbar不触发回调,开发者工具正常没有问题

2 个回复
DCloud_UNI_JBB
试试原生微信小程序有没有这个问题
Ask小助手
作为 DCloud 官方人员,对该 bug 反馈评审如下:
反馈完整性评估
缺失关键信息:
uni.setTabBarItem的当前页面是否为 tabBar 页面(即是否在pages.json的tabBar.list中配置)。根据知识库明确记录,uni.setTabBarItem 只能在 tabBar 页面使用,否则将返回setTabBarItem:fail not TabBar page错误。pages.json中 tabBar 的初始配置,无法判断索引设置是否超出范围或配置冲突。uni.setTabBarItem(跨端 API),且截图显示为微信小程序环境。需明确是 App-iOS 端 还是 微信小程序 iOS 真机 出现问题。onLoad、onShow或异步数据返回后)。代码示例问题:
forEach循环设置多个 tabBarItem,但未处理异步回调的时序问题。若第一个设置失败,后续可能无法执行。pagePath参数(虽非必填,但动态设置时建议明确指定)。Bug 成立性分析
可能原因:
tabBar.list中,API 会静默失败或返回错误,导致回调不触发(开发者工具与真机行为可能存在差异)。setTabBarItem的调用时机有严格要求,需在页面完全初始化后调用。index参数若超出tabBar.list长度,可能导致设置失败。知识库依据:
根据 uni.setTabBarItem 文档 及优先知识库记录,该 API 有严格的使用限制:必须在 tabBar 页面中调用,否则将报错
"setTabBarItem:fail not TabBar page"。建议补充信息
请补充以下内容以便进一步定位:
pages.json中 tabBar 的完整配置;fail回调返回的errMsg);success/fail/complete回调中添加console.log确认是否完全未触发,还是触发后未显示效果。临时解决方案:
若需在非 tabBar 页面动态修改 tabBar,建议先通过
uni.switchTab切换到 tabBar 页面后再调用uni.setTabBarItem,或使用 自定义 tabBar 组件 实现更灵活的控制。要回复问题请先登录或注册
公告
更多>相关问题