
在一个微信小程序中想要用到两种不同的tabbar样式,需要在appjs中自定义,在页面加载时进行调用。
比如一个小程序需要两个版本(用户版、商家版),并且能通过一个按钮在两个版本间进行切换,可能会用到这种方式。
此处以两个页面(index,logs)显示两种tabbar样式为例,通过切换按钮进行切换。
首先有一个模板文件:tabbarwxml
在appjson中无需定义“tabBar”
在appjs中自定义如下
在appwxss中定义显示样式
indexwxml,用到自定义tabbar的页面的首部都需要引入模板文件
indexjs
logsjs
加载自定义tabbar的那句话(appeditTabBar)写在onload或onshow中都可以。
只写了两个主页面,其他页面可自行定义跳转。
最后放上效果图:
这个是小程序自身问题目前还没有得到官方解决可以自己写tabBar代替原生的tabBar。
获取微信小程序的AppID首先,我们需要拥有一个帐号,如果你能看到该文档,我们应当已经邀请并为你创建好一个帐号。注意不可直接使用服务号或订阅号的AppID。利用提供的帐号,登录,就可以在网站的设置、开发者设置中,查看到微信小程序的AppID了。
官网地址:
>
虽然在appjson里面设置tabBar很方便。但是也有弊端。如果是每个页面都需要有这个tabBar的话,显然用原生的就不能满足这个需求了。因此我们需要第二种方案。
此处我是放在了components文件夹里面,后期有公用的组件都可以放在里面
由于用了组件库,所以此处要同时引入组件库的样式
此时,哪个页面要用 就直接执行最后一步使用组件库就好了。
分享一个完整的微信小程序自定义 Tabbar ,tabbar按钮可以设置为跳转页面,也可以设置为功能按钮。懒得看文字的可以直接去底部,博主分享了GitHub地址。
由于微信小程序自带的 Tabbar 功能比较单一,比如要做到中间是一个突出的圆形扫一扫按钮,就需要自定义 Tabbar 了。
博主创建了一个 Tabbar 组件,自己写的样式,在需要用到的页面引入组件。
组件使用了 position: fixed 定位到底部,所以在用到组件的页面,需要给 page 加上 margin-bottom 样式。
交互是通过在组件上定义的 bindtap 事件,来进行跳转页面或者触发功能模块,其中路由跳转是用的 wxswitchTab 。事件以及传参可以通过 triggerEvent ;
文件目录
引用组件
组件的data
组件的路由跳转
源码GitHub地址:>
以上就是关于微信小程序自定义底部导航栏,切换不同页面显示不同tabbar全部的内容,包括:微信小程序自定义底部导航栏,切换不同页面显示不同tabbar、微信小程跳转到tabbar页面显示延迟必须点击其他切换才显示、微信小程序 自定义tabbar等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)