流浪的菜袅 2023-07-19 20:35 采纳率: 79.5%
浏览 36
已结题

微信小程序自定义tabBar,切换tabBar状态时数据错乱

自定义tabBar数据我是放在utils的tabBar.js文件中:

export const tabBar = {
    user: [
        {
            pagePath: "../index/index",
            text: "首页",
            iconPath: "../icons/shouye.png",
            selectedIconPath: "../icons/shouye-sele.png"
        },
        {
            pagePath: "../category/index",
            text: "分类",
            iconPath: "../icons/fenlei.png",
            selectedIconPath: "../icons/fenlei-sele.png"
        },
        {
            pagePath: "../cart/index",
            text: "购物车",
            iconPath: "../icons/gouwuche.png",
            selectedIconPath: "../icons/gouwuche-sele.png"
        },
        {
            pagePath: "../user/index",
            text: "我的",
            iconPath: "../icons/wode.png",
            selectedIconPath: "../icons/wode-sele.png"
        }
      ],
      cut: [
        {
            pagePath: "../order/index",
            text: "订单",
            iconPath: "../icons/order.png",
            selectedIconPath: "../icons/order-sele.png"
        },
        {
            pagePath: "../user/index",
            text: "我的",
            iconPath: "../icons/wode.png",
            selectedIconPath: "../icons/wode-sele.png"
        }
    ]
}

引入utils/tabBar.js文件,每一次点击切换登录端从引入的文件中拿到对应的数据,调用getTabBar()改变custom-tab-bar的数据

getStorageSync(){
        wx.setStorageSync('actype','cut')
        this.tabBarFun()
}
tabBarFun() {
        const actype = wx.getStorageSync('actype')
        let tabBars = []
        if(actype == 'user') {
            tabBars = tabBar.user
        } else if(actype == 'cut') {
            tabBars = tabBar.cut
        } else if(actype == 'admin') {
            tabBars = tabBar.admin
        } else {
            tabBars = tabBar.user
        }
        wx.setStorageSync('tabBar', tabBars)
        const tab = this.getTabBar()
        tab.setData({
            tabBar:tabBars
        })
 },

然后遇到了问题,点击切换登录端后,虽然数据都会改变但是会有两个问题:
1.每一次刷新,小程序会自启动首页,只有点击修改数据后索引为0的ta才会正常 (这个问题已经解决,我是在app.js判断每次在点击切换登录端时储存的一个值,来跳转到对应的页面,问题是解决了但是这方法不好使)
2.每一次点击完切换登录端后,数据会错乱,只有刷新了才会正常
这个是没点切换之前的用户tabBar

img


这是点了切换之后的配送tabBar

img


在不刷新的情况下,点击订单tabBar,就会变成这样

img


刷新之后,就正常了

img


大锅们,请问问题出在了哪个地方啊

  • 写回答

2条回答 默认 最新

  • 流浪的菜袅 2023-07-21 19:04
    关注

    散会

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 7月21日
  • 修改了问题 7月20日
  • 修改了问题 7月20日
  • 创建了问题 7月19日

悬赏问题

  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动
  • ¥20 对于工程问题的非线性数学模型进行线性化
  • ¥15 Mirare PLUS 进行密钥认证?(详解)
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
  • ¥20 想用ollama做一个自己的AI数据库
  • ¥15 关于qualoth编辑及缝合服装领子的问题解决方案探寻
  • ¥15 请问怎么才能复现这样的图呀