300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 微信小程序中选项卡的实现方法

微信小程序中选项卡的实现方法

时间:2020-05-23 23:09:02

相关推荐

微信小程序中选项卡的实现方法

微信小程序|小程序开发

微信小程序,javascript,swiper.js

微信小程序-小程序开发

微信小程序中选项卡的应用随处可见,本篇文章就来给大家介绍微信小程序中选项卡的实现。

全民挂机服务端源码,vscode在哪配置代码块,ubuntu的cmd,清除tomcat日志,sqlite btree,医疗美容网页设计,织梦 数据库内容替换,主机屋 云服务器,wordpress文章归档插件,elem前端框架,r爬虫接单,php转整数,最新seo视频教程,springboot组件化,dedecms tag标签伪静态,古诗文网站源码,常用网页js,公司内部投票 模板,后台管理系统html模板,jquery注册页面素材,基于c 企业客户管理系统源码,房产asp程序lzw

思路

简单的响应式网页模板源码下载,ubuntu21.04镜像,小爬虫的什么,为什么php函数没有返回值定义,seo采集技巧lzw

之前写过基于swiper的选项卡,在小程序中有swiper组件,毫无疑问这里要用到swiper组件

access应用系统源码,ubuntu 下载php,tomcat欢迎页进不去,住宿网站爬虫,php技术架构图,seo教程零基础入门营销分类lzw

小程序中的swiper组件有个问题就是不能根据内容自适应高度,所以要通过wx.getSystemInfoSync获取设备高度设置swiper高度

小程序中的swiper组件中swiper-item内容超出可视区后无法滚动显示,所以这里要用到另一个组件scroll-view。

小程序中的swiper组件功能还是比较有限的,有待优化。

方案

1.首先在js中设置数据

data: { tabs: [菜单一, 菜单二],// 导航菜单栏 curIdx:0,// 当前导航索引 scrollHeight:0, //滚动高度 = 设备可视区高度 - 导航栏高度 list:[],// 内容区列表 },

在onLoad函数中填充数据

/** * 生命周期函数--监听页面加载 */ onLoad: function (options) { let list=[]; for (let i=1;i<=30;i++){list.push(i) } this.setData({list: list }); },

2.在WXML中循环渲染出导航

{{item}}

3.设置当前活动导航样式

/*初始化样式*/view, text, picker, input, button, image{ display: flex; box-sizing: border-box;}/* 导航样式*/.swiper-tab { position: relative; width: 100%; height: 100rpx; justify-content: center; align-items: center;}.swiper-tab-item { background-color: #f3f3f3; width: 50%; height: 80rpx; justify-content: center; align-items: center;}.swiper-active{ background-color: rgb(129, 190, 247); color: #fff;}

4.内容显示区

内容显示区使用swiper组件,swiper-item个数要与tabs数组长度 一致

内容一{{item}}内容二

小程序中的swiper组件有个问题就是不能根据内容自适应高度,所以要通过[wx.getSystemInfoSync][4]获取设备高度设置swiper高度

小程序中的swiper组件中swiper-item内容超出可视区后无法滚动显示,所以这里要用到另一个组件[scroll-view][5]。

我们在onShow函数中通过getSystemInfoSync获取设备的宽高来设置swiper组件高度以及scroll-view高度

onShow: function () { // 100为导航栏swiper-tab 的高度 this.setData({scrollHeight: wx.getSystemInfoSync().windowHeight - (wx.getSystemInfoSync().windowWidth / 750 * 100), }) },

5.点击导航栏切换内容

//点击切换 clickTab: function (e) { this.setData({curIdx: e.currentTarget.dataset.current }) },

6.滑动内容切换导航栏

//滑动切换 swiperTab: function (e) { this.setData({curIdx: e.detail.current }); },

7.可滚动区域滚动最底刷新数据

/** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { // 更新列表 let list = this.data.list; console.log(list) let lens = list.length for (let i = lens; i < lens+30; i++) {list.push(i) } this.setData({list: list }); },

一个漂亮的选项卡就完成了。完整案例

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。