【微信小程序】页面tab栏与页面内容联动

简介: 我们可以将整个页面考虑成一个轮播图,tab栏就如同轮播图的那小点点,可以控制网那个页面点击,有了思路就非常的好实现了,这时候就需要阅读官网,了解那个属性可以跟轮播图绑定,从而实现点击滚动,滑动也可以使tab栏随之滚动。

目录


前言


具体效果展示


一、实现思想


二、了解轮播图


三、实现效果



前言

上一篇文章介绍了如何实现页面tab栏的基础效果,最终效果还是要与页面内容联动,具体要求是滑动页面,tab栏跟着滑动,点击tab栏页面内容跟着滑动


具体效果展示

image.png


一、实现思想


如何实现联动呢?不妨我们可以将整个页面考虑成一个轮播图,tab栏就如同轮播图的那小点点,可以控制网那个页面点击,有了思路就非常的好实现了,这时候就需要阅读官网,了解那个属性可以跟轮播图绑定,从而实现点击滚动,滑动也可以使tab栏随之滚动


二、了解轮播图


我们直接去uni-app官网找到轮播图

微信图片_20220927200926.png

第一我们先了解一下轮播图的内置属性current,简单解释一下,currennt是当前页面的索引,通过tab栏最开始绑定的索引,从而实现点击之后就能切换到指定内容页面,tab栏的索引,就能控制轮播所展现的页面


微信图片_20220927201305.png


第二我们了解一下@change,@change会返回一个current,跟索引一样,只要实现这个与tab栏的索引绑定上,不就可以实现滑动页面内容,tab栏内容也会随之跳转的效果


微信图片_20220927201010.png


第三如何生成轮播图代码呢?只要在编辑器中uswiper,就可以生成轮播图代码,如下

<swiper :indicator-dots="true" :autoplay="true" :interval="3000" :duration="1000">
  <swiper-item>
  <view class="swiper-item"></view>
  </swiper-item>
  <swiper-item>
  <view class="swiper-item"></view>
  </swiper-item>
</swiper>


三、实现效果


第一生成轮播图,直接输入uswiper,获得轮播图代码段,其中还有许多不要的属性比如:indicator-dots="true" :autoplay="true",一个是轮播图的小点点,一个是控制是否自动滚动,我们都使用不上,要么删除或者将true换成false即可,这里的轮播图是比较小的

微信图片_20220927201057.png



我们要讲整个轮播图要与可视高度一样,这里就需要在nLoad生命周期中获得系统高度,在减去tab栏和搜索框的高度就是可视高度,在动态绑定到轮播图上即可:style="'height:'+scrollH+'px'" scrollH是自己定义的

onLoad(e) {
uni.getSystemInfo({ //获取系统信息
  success: (res) => {
// #ifdef MP
  this.scrollH = res.windowHeight - uni.upx2px(225)
//#endif
}
)
}


微信图片_20220927201135.png

开始绑定current,值接在轮播图中直接使用current动态绑定tab栏的索引,就可以直接实现效果了


:current="currentIndex",不清楚的还需要去上一篇文章了解一下tab栏的索引

微信图片_20220927201153.gif



接下来在轮播图绑定@change事件,在方法中得到返回的current,不过我们需要调用tab栏自动滚动事件的scrollinto,从而实现,滚动tab栏也随之滚动,同样不了解tab栏如何自动跟随滚动的,需要去上一篇文章了解  

微信图片_20220927201214.gif


结束语:

本次的分享到此结束啦!!!



 


相关文章
|
2月前
|
小程序 前端开发 开发者
小程序的页面如何布局?
【10月更文挑战第16天】小程序的页面如何布局?
96 1
|
2月前
|
小程序
微信小程序动态tabBar实现:基于自定义组件,灵活支持不同用户角色与超过5个tab自由组合(更新版)
微信小程序动态tabBar实现:基于自定义组件,灵活支持不同用户角色与超过5个tab自由组合(更新版)
665 1
|
3月前
|
JSON 小程序 前端开发
微信小程序的目录结构及页面结构的说明
本文详细介绍了微信小程序的目录结构、页面组成部分以及项目的全局配置文件,阐述了小程序的宿主环境和运行机制,包括小程序启动和页面渲染的过程。
微信小程序的目录结构及页面结构的说明
|
4月前
|
小程序
微信小程序多种跳转页面方式
微信小程序多种跳转页面方式
|
3月前
|
小程序 JavaScript API
微信小程序开发学习之页面导航(声明式导航和编程式导航)
这篇文章介绍了微信小程序中页面导航的两种方式:声明式导航和编程式导航,包括如何导航到tabBar页面、非tabBar页面、后退导航,以及如何在导航过程中传递参数和获取传递的参数。
微信小程序开发学习之页面导航(声明式导航和编程式导航)
|
3月前
|
小程序 前端开发 生物认证
微信小程序如何将一个按钮放到页面的最底下?
微信小程序如何将一个按钮放到页面的最底下?
437 5
|
3月前
|
JSON 小程序 JavaScript
微信小程序页面事件,下拉刷新事件和上拉触底事件
这篇文章介绍了微信小程序中如何实现下拉刷新和上拉触底事件,包括开启下拉刷新、配置下拉刷新样式、监听下拉刷新事件,以及监听上拉触底事件和配置上拉触底的距离。
|
4月前
|
小程序 开发者
万能的微信小程序个人主页:商城系统个人主页、外卖系统个人主页、购票系统个人主页等等【全部源代码分享+页面效果展示+直接复制粘贴编译即可】
这篇文章分享了四个不同应用场景下的微信小程序个人主页的源代码和页面效果展示,包括商城系统、外卖系统、医疗挂号和电影购票系统的个人主页。提供了完整的页面布局和样式代码,允许开发者直接复制粘贴并根据自己的项目需求进行简单的改造使用。
万能的微信小程序个人主页:商城系统个人主页、外卖系统个人主页、购票系统个人主页等等【全部源代码分享+页面效果展示+直接复制粘贴编译即可】
|
2月前
|
JSON 小程序 JavaScript
uni-app开发微信小程序的报错[渲染层错误]排查及解决
uni-app开发微信小程序的报错[渲染层错误]排查及解决
728 7
|
2月前
|
小程序 JavaScript 前端开发
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
763 1