解决tabbar点击两次图标才正常对应的问题

在onshow生命周期函数里初始active的值,用来对应每个页面切换之后展示对应的图标

以这两个页面为例子
在这里插入图片描述
(1)tabBar=>index.js

    data: {
        active: 0,
        list: [
            {
                pagePath: "/pages/index/index",
                text: "工作台",
                icon: "home-o",
              },
            {
              pagePath: "/pages/logs/logs",
              text: "我的",
              icon:"user-o",
            },
          ]
    },
    methods: {
        onChange(e) {
            this.setData({ active: e.detail });
            this.setData({ active: e.detail });
            wx.switchTab({
              url: this.data.list[e.detail].pagePath
            });
        
          },
          init() {
            const page = getCurrentPages().pop();
            this.setData({
              active: this.data.list.findIndex(item => item.pagePath === `/${page.route}`)
            });
           },
    }

(2)index页面

  onShow() {
    this.getTabBar().init({
        active: 0
    })
},

(3)log页面

  onShow() {
    this.getTabBar().init({
        active: 1
    })
},
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值