调用uni.setTabBarItem修改text与pagePath接口返回{"errMsg":"setTabBarItem:ok"}调用成功,text修改了,但点击对应修改tabbar路径跳转的还是修改前的page路径(首页是nvue,个人中心是vue。在个人中心修改首页路径,修改过的首页路径不是nvue是否跟这个有关?)
- 发布:2020-08-19 09:27
- 更新:2023-11-07 17:53
- 阅读:7611
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: Windows10家庭版 版本 18363
HBuilderX类型: 正式
HBuilderX版本号: 2.8.6
手机系统: Android
手机系统版本号: Android 10
手机厂商: 华为
手机机型: 小米8se
页面类型: vue
打包方式: 云端
项目创建方式: HBuilderX
bug描述:
最佳回复
测试各平台正常:
- 首先,HBuilderX 版本问题,请更新到 HBuilderX 3.3.0
pagePath String 页面绝对路径,必须在 pages 中先定义,被替换掉的 pagePath 不会变成普通页面(仍然需要使用 uni.swichTab 跳转) App(2.8.4+)、H5(2.8.4+)支持
- pagePath 使用绝对路径,示例
setTabBarItem() { uni.setTabBarItem({ index: 1, text: '动画', pagePath: '/pages/API/animation/animation', success() { uni.switchTab({ url: '/pages/API/animation/animation' }) } }) },
为了快速定位问题,请提供一下可复现的示例工程
正巧也遇到这个问题了。百度半天,最后发现是pagePath路径的问题。注意要写绝对路径。/pages/msg/msg
uni.setTabBarItem({
index: 3,
pagePath: '/pages/msg/msg',
});
用绝对路径确实可以,但前提是,写setTabBarItem的地方得是tabBar页面,如果不是,写了就无效。
比如,我在App.vue的onLaunch写了setTabBarItem,然后用switchTab想跳转到对应的页面,跳不过去。改用reLaunch,虽然可以,但是又有新的问题。比如我reLaunch过去的tabBar是一个列表页,点击进明细后,再回退,页面栈就丢失了。
HBX:3.2.3,以下都无效。
pagePath:'/pages/....'
pagePath:'pages/....'
pagePath:'../pages/....'
另希望可以提供tabbar数量修改。
在首页设置也是无效
uni.setTabBarItem({
index: 1,
text: '动画',
pagePath: '/pages/old-index/old-index',
success() {
uni.switchTab({
url: '/pages/old-index/old-index'
)
}
}) 也没有效果
少年心事当浮云
我是app 图片生效 文字不生效是什么鬼
2024-04-24 15:55