赞
踩
我们在做uniapp小程序的时候,如果不使用原生tabbar 导航,而自定义导航,会出现切换各页面闪烁问题:
原生导航切换使用的是:
uni.switchTab({
url: item.pagePath,
})
而自定义导航切换一般使用
uni.reLaunch({
url: item.pagePath,
});
uni.reLaunch 会关闭所有页面而从新加载导航页,这样就会因为dom切换,还没编译生成dom树,使页面产生闪烁问题,从而影响界面友好。
所以我们在使用自定义导航的时候, 在
添加 uni.hideTabBar()
onLoad() {
uni.hideTabBar()//隐藏官方的tabBar
},
这样就可以隐藏app中的原生导航
1、 网上很多方法是在app.vue里引人,
但如果页面初始化打开比如说是登录页,uni.hidetabbar()在app.vue里引人,可能会无效 ,因为登录页并没有的 tabbar 组件。
3、uni.hidetabbar()方法只能在页面的生命周期函数中调用,例如 onLoad、onshow 等。如果在其他函数中调用,可能会无效
4、如果您使用了自定义的 tabbar,需要在自定义的 tabbar 组件中调用 uni.hideTabear()方法隐藏。如果您又在其他地方引入uni.hidetabbar(),也可能会无效。
uni-app就是这么神奇,web调试和app调试永远会出来各种不统一,加油优化吧
最后
uni.switchTab 和 uni.reLaunch 初始化加载的时候依然会闪烁一次,
如果有好的办法欢迎留言,请教学习~
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。