在香蕉树看你笑
在香蕉树看你笑
  • 发布:2026-02-03 18:42
  • 更新:2026-02-04 10:01
  • 阅读:104

【报Bug】iOS在tab页面调用setTabBarItemAPI, text属性不生效,显示调用成功了,iconfont和visible正常设置成功了,只有text没有生效

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: Win11

HBuilderX类型: 正式

HBuilderX版本号: 4.87

手机系统: iOS

手机系统版本号: iOS 26

手机厂商: 苹果

手机机型: iPhone13promax

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

操作步骤:
uni.setTabBarItem({  
  index: 3,  
  text: '首页112',  
  iconfont: {  
    text: '\ue6ba',  
    selectedText: '\ue686',  
    fontSize: '20px',  
    color: '#B2B2B3',  
    selectedColor: '#F4BA5D'  
  },  
  success: (res) => {  
    console.log('===setTabBarItem success===', res)  
  },  
  fail: (err) => {  
    console.log('===setTabBarItem fail===', err)  
  }  
})

预期结果:

text文本正常显示“首页112”

实际结果:

原page页面设置的文本

bug描述:

【报Bug】iOS在tab页面调用setTabBarItemAPI, text属性不生效,显示调用成功了,iconfont和visible正常设置成功了,只有text没有生效
1、使用的是底部的原生 tabbar;
2、在onShow、onHide中以及事件结束后都有设置调用;

pages配置如下

 "tabBar": {    
    "color": "#999999",    
    "selectedColor": "#F4BA5D",    
    "backgroundColor": "#FFFFFF",    
    "height": "50px",    
    "fontSize": "10px",    
    "iconWidth": "20px",    
    "spacing": "6px",    
    "iconfontSrc": "static/font/iconfont.ttf",    
    "list": [    
      {    
        "pagePath": "pages/index/index",    
        "text": "%index.day_night%",    
        "iconfont": {    
          "text": "\ue679",    
          "selectedText": "\ue67d",    
          "fontSize": "20px",    
          "color": "#B2B2B3",    
          "selectedColor": "#F4BA5D"    
        }    
      },    
      {    
        "pagePath": "pages/wellness/wellnessCenter",    
        "text": "%index.lifestyle%",    
        "iconfont": {    
          "text": "\ue684",    
          "selectedText": "\ue640",    
          "fontSize": "20px",    
          "color": "#B2B2B3",    
          "selectedColor": "#F4BA5D"    
        }    
      },    
      {    
        "pagePath": "pages/device/myDevice",    
        "text": "%index.devices%",    
        "iconfont": {    
          "text": "\ue6ba",    
          "selectedText": "\ue686",    
          "fontSize": "20px",    
          "color": "#B2B2B3",    
          "selectedColor": "#F4BA5D"    
        }    
      },    
      {    
        "pagePath": "pages/me/me",    
        "text": "%index.me%",    
        "iconfont": {    
          "text": "\ue63e",    
          "selectedText": "\ue694",    
          "fontSize": "20px",    
          "color": "#B2B2B3",    
          "selectedColor": "#F4BA5D"    
        }    
      }    
    ],    
    "midButton": {    
      "width": "44px",    
      "height": "44px",    
      "iconWidth": "40px",    
      "iconPath": "/static/images/tabBar/ic_tab_HealthAI.png"    
    }    
  }
2026-02-03 18:42 负责人:无 分享
已邀请:
Ask小助手

Ask小助手

欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。

作为 DCloud 官方人员对该 bug 反馈的评审结论如下:

  1. 信息完整性
    • BUG 标题、描述、代码示例、复现步骤、预期/实际结果、分类信息(平台、版本、机型等)均已提供,满足最低可读性要求。
    • 代码示例可直接粘到 tabBar 页面运行,无需额外修改。
    • 复现步骤仅给出调用代码,未说明「在哪个 tabBar 页面、何时调用(onLoad/onShow 还是点击事件)」,建议补充调用时机,方便我们 100 % 复现。

  2. bug 是否成立
    • 根据知识库 setTabBarItem 兼容性 文档,text 参数在 App 端(含 iOS)是明确支持的字段,且用户已收到 success 回调,说明 API 本身已走到原生层。
    • 文档未提到 iOS 对 text 字段存在已知限制;历史 release-note 中也没有「iOS text 不生效」的修复记录。
    • 因此初步判断为「可能存在的平台差异 bug」,而非误报或已知限制。

  3. 版本与后续建议
    • 用户当前 HBuilderX 4.87(正式版)已是最新稳定版,无需升级即可继续排查。
    • 建议用户补充:
    ① 调用 setTabBarItem 的完整生命周期(onLoad/onShow/点击按钮?)
    ② pages.json 中对应 tabBar 项的原始配置(方便对比)
    ③ 是否使用自定义 tabBar(custom=true)——若使用自定义 tabBar,setTabBarItem 不会刷新自定义组件里的文字。
    • 若确认非自定义 tabBar,可提供一个最小复现工程,我们转测试进一步定位。

结论:该反馈信息基本完整,bug 成立可能性高,待补充调用时机与配置细节后即可进入内部流程。

内容为 AI 生成,仅供参考
在香蕉树看你笑

在香蕉树看你笑 (作者) - 在香蕉树上看着你笑

1、使用的是底部的原生 tabbar;
2、在onShow、onHide中以及事件结束后都有设置调用;

pages配置如下


  "tabBar": {  
    "color": "#999999",  
    "selectedColor": "#F4BA5D",  
    "backgroundColor": "#FFFFFF",  
    "height": "50px",  
    "fontSize": "10px",  
    "iconWidth": "20px",  
    "spacing": "6px",  
    "iconfontSrc": "static/font/iconfont.ttf",  
    "list": [  
      {  
        "pagePath": "pages/index/index",  
        "text": "%index.day_night%",  
        "iconfont": {  
          "text": "\ue679",  
          "selectedText": "\ue67d",  
          "fontSize": "20px",  
          "color": "#B2B2B3",  
          "selectedColor": "#F4BA5D"  
        }  
      },  
      {  
        "pagePath": "pages/wellness/wellnessCenter",  
        "text": "%index.lifestyle%",  
        "iconfont": {  
          "text": "\ue684",  
          "selectedText": "\ue640",  
          "fontSize": "20px",  
          "color": "#B2B2B3",  
          "selectedColor": "#F4BA5D"  
        }  
      },  
      {  
        "pagePath": "pages/device/myDevice",  
        "text": "%index.devices%",  
        "iconfont": {  
          "text": "\ue6ba",  
          "selectedText": "\ue686",  
          "fontSize": "20px",  
          "color": "#B2B2B3",  
          "selectedColor": "#F4BA5D"  
        }  
      },  
      {  
        "pagePath": "pages/me/me",  
        "text": "%index.me%",  
        "iconfont": {  
          "text": "\ue63e",  
          "selectedText": "\ue694",  
          "fontSize": "20px",  
          "color": "#B2B2B3",  
          "selectedColor": "#F4BA5D"  
        }  
      }  
    ],  
    "midButton": {  
      "width": "44px",  
      "height": "44px",  
      "iconWidth": "40px",  
      "iconPath": "/static/images/tabBar/ic_tab_HealthAI.png"  
    }  
  }

要回复问题请先登录注册