uni-app 自定义底部导航栏的实现

 更新时间:2020年12月11日 14:14:11   作者:Joanna同学  
这篇文章主要介绍了uni-app 自定义底部导航栏的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

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

1. tabbar 组件

<template>
 <view class="tabbar-container">
  <view
   :style="{ color: currentIndex == index ? '#007EFF' : '#333333' }"
   v-for="(item, index) in tabbarList"
   :key="index"
   style="flex: 1"
   @click="switchTab(index)"
  >
   <view :class="'iconfont ' + item.icon" />
   <view class="title">{{ item.title }}</view>
  </view>
 </view>
</template>

mounted(){
 let dom = uni.createSelectorQuery().select('.tabbar-container')
  dom.boundingClientRect(e => {
   // tabbarHeight使用频次较高,就设为全局变量了
    getApp().globalData.tabbarHeight = e.height
  }).exec()
}

<style scoped lang="scss">
.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;
 }
}
</style>

2. 引入

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

<template>
 <view :style="'height: calc(100vh - ' + tabbarHeight + 'px)'">
  <tab-bar
   :currentIndex="currentIndex"
   class="tabbar-container"
   @getCurrentIndex="getCurrentIndex"
  />
  <swiper duration="0" disable-touch :current="currentIndex" style="height: 100%">
   <swiper-item>
    <scroll-view scroll-y style="height: 100%">
     <home />
    </scroll-view>
   </swiper-item>
   <swiper-item>
    <todo-page />
   </swiper-item>
   <swiper-item>
    <launch-task />
   </swiper-item>
   <swiper-item>
    <my-page />
   </swiper-item>
  </swiper>
 </view>
</template>

mounted() {
 this.tabbarHeight = getApp().globalData.tabbarHeight
},

getCurrentIndex(e) {
 this.currentIndex = e;
}

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

相关文章

  • three.js中多线程的使用及性能测试详解

    three.js中多线程的使用及性能测试详解

    这篇文章主要给大家介绍了关于three.js中多线程的使用及性能测试的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • 深入理解JavaScript和TypeScript中的class

    深入理解JavaScript和TypeScript中的class

    class 声明创建一个基于原型继承的具有给定名称的新类,下面这篇文章主要给大家介绍了关于JavaScript和TypeScript中class的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下。
    2018-04-04
  • JavaScript控制音频和视频的播放、暂停、音量

    JavaScript控制音频和视频的播放、暂停、音量

    HTML<video>元素用于在HTML或者XHTML文档中嵌入媒体播放器,用于支持文档内的视频播放,你也可以将<video>标签用于音频内容,在前端中实现音频和视频播放通常涉及使用HTML5的<audio>和<video>元素以及JavaScript来控制这些媒体元素的播放、暂停、音量等属性
    2023-10-10
  • javascript 方法一些使用方法

    javascript 方法一些使用方法

    javascript 方法一些使用方法,注意看下他的函数。
    2009-05-05
  • javascript实现文本框标签验证的实例代码

    javascript实现文本框标签验证的实例代码

    这篇文章主要介绍了javascript实现文本框标签验证的实例代码,需要的朋友可以参考下
    2018-10-10
  • JavaScript使用Proxy编写一个取值限制器

    JavaScript使用Proxy编写一个取值限制器

    最近一直在开发低代码平台的东西,由于项目里面东西有点多,取值或调用起来比较麻烦,使用本文就将使用Proxy编写一个取值限制器,需要的小伙伴可以参考下
    2023-12-12
  • uniapp 微信默认地图选点功能实现

    uniapp 微信默认地图选点功能实现

    这篇文章主要介绍了uniapp 微信默认地图选点功能实现,本文通过实例代码效果图展示给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2024-07-07
  • javascript实现根据汉字获取简拼

    javascript实现根据汉字获取简拼

    这里给大家分享一个JavaScript实现的根据汉字可以自动转换简拼代码,有需要的朋友可以参考一下,并非本人原创来自网络。
    2016-09-09
  • Postman的下载及安装教程详解

    Postman的下载及安装教程详解

    这篇文章主要介绍了Postman的下载及安装教程详解,今天给大家介绍的这款网页调试工具不仅可以调试简单的css、html、脚本等简单的网页基本信息,它还可以发送几乎所有类型的HTTP请求!需要的朋友可以参考下
    2018-10-10
  • 对layui中表单元素的使用详解

    对layui中表单元素的使用详解

    今天小编就为大家分享一篇对layui中表单元素的使用详解。具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-08-08

最新评论