
一、设置自定义顶部导航
Navigation是小程序的顶部导航组件,当页面配置 navigationStyle 设置为 custom 的时候可以使用此组件替代原生导航栏。
1全局顶部导航自定义,在appjson的“window”里添加"navigationStyle": "custom"
2只在某一个页面自定义顶部导航,在该页面的json文件里添加"navigationStyle": "custom"
二、具体的导航块根据需要自行书写
最近做项目的时候,突然来了个小特殊的需求,根据客户的类型来动态显示底部的tabBar菜单。当时我就有点小懵逼了,这个不是小程序自带的组件么?还要做成动态?这就有点尴尬了
不过也只是一时尴尬而已,然后我就展开了搜索之旅然后发现,官方的组件确实没办法做动态,那咋办,如果真的有这个需求那也是得去处理滴呀~然后也看了有一些做到这效果的方法,那就试一下呗。。其实就是自定义个tabBar的模板,以下是实现:
首先,既然是说自定义组件,那是用到template了。那先在Page里新建个template的文件夹,以便放tabBar的组件。
然后新建个tabBarwxml文件,这里就写下你的tabBar的结构。
下面是tabBar所需要用到的样式,我这里就直接写在全局appwxss了。
然后接下来是js的部分,由于是底部的导航,那肯定是不止一个页面用到的,那这里就可以写在全局的appjs里面方便使用。这里我写了两种tabBar的模板,分别对应来显示
然后在需要用到这个组件的页面上直接调用。比如这里的index页面。
然后去indexjs里面调用tabBar
然后下面是效果图。
就这些。我个人觉得这个自定义导航的用户体验不是很好,能不用就不要用,不过知道下方法也是ok滴!如有发现有错或者不足的地方可以指出,谢谢!
分享一个完整的微信小程序自定义 Tabbar ,tabbar按钮可以设置为跳转页面,也可以设置为功能按钮。懒得看文字的可以直接去底部,博主分享了GitHub地址。
由于微信小程序自带的 Tabbar 功能比较单一,比如要做到中间是一个突出的圆形扫一扫按钮,就需要自定义 Tabbar 了。
博主创建了一个 Tabbar 组件,自己写的样式,在需要用到的页面引入组件。
组件使用了 position: fixed 定位到底部,所以在用到组件的页面,需要给 page 加上 margin-bottom 样式。
交互是通过在组件上定义的 bindtap 事件,来进行跳转页面或者触发功能模块,其中路由跳转是用的 wxswitchTab 。事件以及传参可以通过 triggerEvent ;
文件目录
引用组件
组件的data
组件的路由跳转
源码GitHub地址:>
1F2简介及语法参照网址
>
自定义导航栏分两种,一种是单独某个页面做一个自定义导航;一种是所有页面的导航栏都是自定义样式
如果是所有页面的导航栏都要自定义,在appjson里找到window样式
"navigationStyle":"custom"
所有页面的就需要先自定义组件了,这里先不做详说,因为我目前项目中只是首页需要自定义导航栏,这里我先详说这个
这样当前页面自带的导航栏就没有了,然后需要你在wxml页面中就可以开始写样式了
<!-- 自定义导航栏 -->
<view class="navStyle" style="height:{{navHeight}}px">
<view class="navFix" style="height:{{navHeight}}px;margin-top:{{imgTop}}px;">
<image src=""></image>
<view style="margin-top:{{cityTop}}px;">
全国
{{cityName}}
</view>
</view>
</view>
// 获取状态栏高度
const { statusBarHeight } = wxgetSystemInfoSync();
// 得到右上角菜单的位置尺寸
const menuButtonObject = wxgetMenuButtonBoundingClientRect();
consolelog('右上角菜单的尺寸:',menuButtonObject);
const { top, height } = menuButtonObject;
// 计算导航栏的高度
// 此高度基于右上角菜单在导航栏位置垂直居中计算得到
const navBarHeight = height + (top - statusBarHeight) 2;
// 计算状态栏与导航栏的总高度
const statusNavBarHeight = statusBarHeight + navBarHeight;
thissetData({
navHeight:statusNavBarHeight,
imgTop:statusNavBarHeight-45,
cityTop:statusNavBarHeight-45-25
})
以上就是关于【微信小程序】自定义顶部导航栏全部的内容,包括:【微信小程序】自定义顶部导航栏、微信小程序动态tabBar实现、微信小程序自定义Tabbar,附详细源码等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)