嘻嘻哈哈学Java 2024-03-05 09:38 采纳率: 25%
浏览 37

小程序根据登录角色展示不同的自定义TabBar,真机不会切换问题,该怎么解决?

小程序根据不同角色进入后展示不同的自定义tabbar内容时在工具模拟器上没有问题,但是在真机测试时发现使用权限A账号登录tabbar显示正常,但是使用权限B账号登录后显示tabbar还是权限A的tabbar,页面却是权限B的页面内容。点击tabbar会在两种权限tabbar来回切换。当第一次使用权限B账号登录时,tabbar显示的也是权限A的内容。
这个是app.json里边的配置的内容,其中第二个物联控制是权限B的tabbar,其余都是权限A的

img

这个是自定义tabbar内容,每次登录后判断用户权限,给tab赋值

img

登录后的效果就是每次登录都是权限A的tabbar,但是点击的时候就会来回切换
这是权限A的

img

这是权限B的

img

  • 写回答

2条回答 默认 最新

  • 关注

    嘻嘻哈哈学Java 上午好☀️☀️☀️️
    本答案参考ChatGPT-3.5

    根据你的描述,你在小程序中根据不同角色展示不同的自定义TabBar,但是在真机测试时发现切换角色后TabBar内容没有改变。

    导致问题的可能原因是:

    1. 缓存数据未正确更新:可能是因为登录角色切换后,缓存中的角色数据没有正确更新导致。

    解决方案:

    1. 确认缓存数据更新:在切换登录角色之后,可以通过调用wx.setStorageSync()wx.setStorage()方法将最新的角色信息存储到缓存中。

    2. 重新加载TabBar页面:可以在每次登录角色切换成功之后,通过调用wx.reLaunch()方法重新加载TabBar所在的页面。

    代码示例:

    // 在登录成功后,更新缓存数据
    wx.setStorageSync('roles', roles);
    
    // 在切换登录角色成功后,重新加载TabBar页面
    wx.reLaunch({
      url: '/pages/tabBar/index', // 替换成实际的TabBar页面路径
    });
    

    另外,建议在登录成功或切换角色后,可以使用 wx.showToast()方法给用户一个反馈,提示角色切换成功,并且在页面加载完成之后才显示TabBar,以避免页面未加载完全时出现切换的问题。

    希望以上解决方案对你有帮助!如果还有其他问题,请随时追问。

    评论

报告相同问题?

问题事件

  • 创建了问题 3月5日

悬赏问题

  • ¥15 同一个网口一个电脑连接有网,另一个电脑连接没网
  • ¥15 神经网络模型一直不能上GPU
  • ¥15 苍穹外卖拦截器token为null
  • ¥15 pyqt怎么把滑块和输入框相互绑定,求解决!
  • ¥20 wpf datagrid单元闪烁效果失灵
  • ¥15 券商软件上市公司信息获取问题
  • ¥100 ensp启动设备蓝屏,代码clock_watchdog_timeout
  • ¥15 Android studio AVD启动不了
  • ¥15 陆空双模式无人机怎么做
  • ¥15 想咨询点问题,与算法转换,负荷预测,数字孪生有关