赞
踩
闪烁问题原因:超过两个tabbar页不要单纯的使用官方说的show时getTabBar().setData设置选中态,自定义tabbar是多个实例的,那样只会改变当前tabbar实例的选中态,其他页面的tabbar实例并没有改变选中态。
解决tabbar闪烁问题:
1.在app.js中设置 globalData
- // app.js
-
- App({
- globalData: {
- tabIndex: 0
- },
- })
2.在 custom-tab-bar/index.js 中设置
- //custom-tab-bar/index.js
-
- const app = getApp()
-
-
- lifetimes: {
-
- attached() {
-
- this.setData({
- selected: app.globalData.tabIndex
- })
-
- }
-
- },
-
- methods: {
-
- switchTab(e) {
-
- const data = e.currentTarget.dataset
-
- const url = data.path
-
- wx.switchTab({ url })
-
- app.globalData.tabIndex = data.index
- }
- },
3.每个tabbar页面设置
-
- if (typeof this.getTabBar === 'function' && this.getTabBar()) {
- this.getTabBar().setData({
- selected: // tabbar的id
- })
- }
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。