收藏
回答

关于自定义两套tabBar的问题?

const app = getApp()
Component({
  data: {
    selected: 0,
    color: "#7A7E83",
    selectedColor: "#3cc51f",
    slist: [],
    tabBarList: {
      company: [
        {
          "pagePath": "/pages/index/index",
          "text": "首页",
          "iconPath": "/images/menu/discovery.png",
          "selectedIconPath": "/images/menu/discovery_focus.png"
        },
        {
          "pagePath": "/pages/notify/notify",
          "text": "通知",
          "iconPath": "/images/menu/chat.png",
          "selectedIconPath": "/images/menu/chat_focus.png"
        },
        {
          "pagePath": "/pages/more/more",
          "text": "我的",
          "iconPath": "/images/menu/burger.png",
          "selectedIconPath": "/images/menu/burger_focus.png"
        }
      ],
      project: [
        {
          "pagePath": "/pages/proindex/proindex",
          "text": "首页",
          "iconPath": "/images/menu/discovery.png",
          "selectedIconPath": "/images/menu/discovery_focus.png"
        },
        {
          "pagePath": "/pages/emcs/emcs",
          "text": "设备监控",
          "iconPath": "/images/menu/emcs.png",
          "selectedIconPath": "/images/menu/emcs_focus.png"
        },
        {
          "pagePath": "/pages/more/more",
          "text": "我的",
          "iconPath": "/images/menu/burger.png",
          "selectedIconPath": "/images/menu/burger_focus.png"
        }
      ]
    }
  },
  attached() {
  },
  lifetimes: {
    attached() {
     let tabType = app.globalData.tabType
      this.setData({
        slist: this.data.tabBarList[tabType]
      })
    }
  },
  methods: {
    switchTab(e) {
      const data = e.currentTarget.dataset
      const url = data.path
      console.log(app.globalData.tabType)
      console.log(this.data.slist)
      console.log(url)
      let tabType = app.globalData.tabType
      this.setData({
        slist:this.data.tabBarList[tabType]
      })
      wx.switchTab({ url })
      this.setData({
        selected: data.index
      })
    }
  }

})

我使用custom-tab-bar定义了两套tabBar,根据不同情景加载不同的tabBar, 首先进入company的tabBar是没问题的,然后返回进入第二套project的taoBar
y页面,点击首页和设备监控也没问题,但是点击“我的”,tabBar就变成了第一套的,奇怪的是打印console.log(app.globalData.tabType),console.log(this.data.slist)
d都是第一套的tabBar数据,显示的确实第一套的


回答关注问题邀请回答
收藏
登录 后发表内容