小程序 tabbar

小程序 tabbar,第1张

app.json 直接配置:

官方文档: 自定义 tabBar

custom-tab-bar/index

在小程序根目录下新建 custom-tab-bar 文猛州件夹,文件夹下建立相应的组件

wxml 文件:

推荐使用 cover-view + cover-image 组件渲染样式,以保证 tabBar 层级相对较高。不过现在使用 view 也可以,之前是因为使用 map 组件可能会导致无法覆盖,现在 map 组件已经支持同层渲染,所以使用 view 也是没问题的。

js 文件:

tabbar 的配置主要在这里。

因为每个 tab 页下的自定义 tabBar 组件实例是不同的,在跳转新的tab 后,是一个新的 tabbar 实例,先前那个已经被销毁了,所以要重新设置。

在每个自定义的 tab 页面 onShow 方法中,

可见使用系统提供自定义 tabbar 方式不好的地方在于每个 tabbar 页面都要手动设置一遍选中状态。

为什么说是系统自定义的?

因为我们自定义的组件 custom-tab-bar/index 并没有在每个枝迹蔽页面的 json 中进行单独配置进行组件的引用,都是系统默认配置好的。

官方文档 Tabbar 。

通过 useExtendedLib 扩展库 的方式引入 weui 组件库。

app.json 配置:

在 tab 页面的 page.json 中引入 tabbar 组件即州斗可:

wxml 使用:

直接将第二种方式 使用系统自定义的方式 custom-tab-bar/index 文件夹及文件移动到 components 自定义组件文件夹中 ,并将 app.json 中的 tabbar 配置删除即可。

在相应的 tab 页面引入自定义 tabbar 组件即可。

屏幕有效区域高度 windowsHeight,需要手动维护,系统不再维护。使用系统的 tabbar,屏幕的有效区域高度 windowsHeight = 屏幕高-状态栏高度-导航条高度-tabbar高度 ;而自定义的 tabbar 则没有计算 tabbar 高度,即 windowsHeight = 屏幕高-状态栏高度-导航条高度 。

在一个微信小程序中想要用到两种不同的tabbar样式,需要在app.js中自定义,在页面加载时进行调用。

比如一个小程序需要两个版本(用户版、商家版),并且能通过一闷昌个按钮在两个版本间进行切换,可能会用到这种方式。

此处以两个页面(index,logs)显示两种tabbar样橡粗式为例,通过切换按钮梁罩镇进行切换。

首先有一个模板文件:tabbar.wxml

在app.json中无需定义“tabBar”

在app.js中自定义如下

在app.wxss中定义显示样式

index.wxml,用到自定义tabbar的页面的首部都需要引入模板文件

index.js

logs.js

加载自定义tabbar的那句话(app.editTabBar)写在onload或onshow中都可以。

只写了两个主页面,其他页面可自行定义跳转。

最后放上效果图:

tips:

1.小程序底部菜单标签个数不少于2个,最多不超过5个。

2.可以在 阿里巴巴矢量图标库 找到你需要的图标。

3.小程序建议图标大小为81*81px

我这边选择的是64尺寸的png图片高咐弊,每一个图标选择两种颜色,分别对应未选中状态和选中状态,具体按照你们设计项目进行

tips:

1.建立项目图片文件夹简樱:images

2.在pages中建立相戚族对应的菜单栏目文件夹

3.配置app.json: tabBar配置

1.app.json中,"window":{}和"tabBar":{}是同级

2. 全局配置

3. 设置tabbar地址:wx.setTabBarBadge(Object object)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8182249.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存