当前位置:   article > 正文

UNIAPP----两种方法解决自定义tabbar,切换无卡顿白屏_uniapp切换页面会白屏一下

uniapp切换页面会白屏一下

说一下思路,代码后续贴

一:app,h5,小程序都可以

1,在pages.json里的tabbar只留下pagePath,属性只留height:“0px”,意思为留下uni.switchtab跳转路径,不会闪屏白屏。但是高度为0px,看不到,也没给图标和文字。

2,使用uview 的自定义tabbar。笨方法:每个tabbar页面中都放置一次。点击不同tabbar,跳转不同tabbar——uni.switchtab。好方法:稍微封装个组件。各tabbar引入一次。

缺点:代码较多,不封装维护较乱。如果进入tabbar有全屏loading遮盖层,底部tabbar不会显示,会和页面一起显示,所以有几率白屏。

3,在APP.vue里面onLaunch,加入uni.hideTabBar(), 并且每个tabbar页面的onload都要加入uni.hideTabBar()

总结:把原生tabbar高度设置0px,跳转用uni.switchtab,自定义的tabbar放在每个tabbar页面下,同时记得隐藏原生tabbar。

二:app,h5,小程序都可以 (公司大佬的解决方法)

1只有一个主页面,之前的tabbar都是子页面。

相当于首页只有一个大页面。其他4个tabbar均为组件,唯一不变的是底部的tabbar。

tabbar固定不变,变化的是上方的页面。

template标签包裹子组件,通过v-if控制。子组件用v-show控制就行。

底部tabbar一直在,无论是否有数据,点击不同tabbar,主动修改不同标题和颜色。

给张图:

 暂未发现缺点,并且下拉刷新可以用。

在父大页面写下拉,去调用$refs子组件内的刷新或者请求即可。

代码后续补...

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/555791
推荐阅读