uniapp 底部菜单_uni-app 自定义底部导航栏的实现

本文介绍了uni-app中避免底部导航栏切换时闪烁和频繁请求数据问题的方法,通过自定义tabbar组件和使用swiper实现。文章提供了一段示例代码,并强调了全局变量tabbarHeight的设置。此外,还分享了获取当前选中页索引的处理方式。
摘要由CSDN通过智能技术生成

这是我目前发现较好的uni-app 自定义底部导航栏方法,其他方法的缺点主要是在切换时,要么会闪烁,要么会每点击一下,都会请求一次数据。如果有其他更好的方法,欢迎评论留言,最近才开始用uni-app写项目,之前只是看了下文档。

1. tabbar 组件

:style="{ color: currentIndex == index ? '#007EFF' : '#333333' }"

v-for="(item, index) in tabbarList"

:key="index"

style="flex: 1"

@click="switchTab(index)"

>

{{ item.title }}

mounted(){

let dom = uni.createSelectorQuery().select('.tabbar-container')

dom.boundingClientRect(e => {

// tabbarHeight使用频次较高,就设为全局变量了

getApp().globalData.tabbarHeight = e.height

}).exec()

}

.iconfont {

font-size: 18px;

}

.tabbar-container {

display: flex;

justify-content: space-evenly;

text-align: center;

padding: 10px 0;

background-color: #fff;

box-shadow: 0 -1.5px 3px #eee;

z-index: 999;

.title {

font-size: 12px;

}

}

2. 引入

这里使用的是swiper,duration为0是为了关闭页面切换动画效果,

:currentIndex="currentIndex"

class="tabbar-container"

@getCurrentIndex="getCurrentIndex"

/>

mounted() {

this.tabbarHeight = getApp().globalData.tabbarHeight

},

getCurrentIndex(e) {

this.currentIndex = e;

}

到此这篇关于uni-app 自定义底部导航栏的实现的文章就介绍到这了,更多相关uni-app 底部导航栏内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值