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


Posted in Javascript onDecember 11, 2020

这是我目前发现较好的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 底部导航栏内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
为jquery.ui.dialog 增加“自动记住关闭时的位置”的功能
Nov 24 Javascript
jquery插件珍藏(图片局部放大/信息提示框)
Jan 08 Javascript
根据json字符串生成Html的一种方式
Jan 09 Javascript
jquery 层次选择器siblings与nextAll的区别介绍
Aug 02 Javascript
js判断两个日期是否相等的方法
Sep 10 Javascript
jQuery树形下拉菜单特效代码分享
Aug 15 Javascript
深入分析javascript中console命令
Aug 14 Javascript
JS+Ajax实现百度智能搜索框
Aug 04 Javascript
vue-quill-editor实现图片上传功能
Aug 08 Javascript
解决在vue项目中,发版之后,背景图片报错,路径不对的问题
Mar 06 Javascript
解决vue js IOS H5focus无法自动弹出键盘的问题
Aug 30 Javascript
Layui带搜索的下拉框的使用以及动态数据绑定方法
Sep 28 Javascript
微信小程序实现音乐播放页面布局
Dec 11 #Javascript
JS实现可以用键盘方向键控制的动画
Dec 11 #Javascript
JS实现京东商品分类侧边栏
Dec 11 #Javascript
vue使用exif获取图片经纬度的示例代码
Dec 11 #Vue.js
vue使用exif获取图片旋转,压缩的示例代码
Dec 11 #Vue.js
一行JavaScript代码如何实现瀑布流布局
Dec 11 #Javascript
react中hook介绍以及使用教程
Dec 11 #Javascript
You might like
Ubuntu12下编译安装PHP5.3开发环境
2015/03/27 PHP
php类常量用法实例分析
2015/07/09 PHP
Laravel路由设定和子路由设定实例分析
2016/03/30 PHP
PHP自带方法验证邮箱、URL、IP是否合法的函数
2016/12/08 PHP
PHP中md5()函数的用法讲解
2019/03/30 PHP
php ActiveMQ的安装与使用方法图文教程
2020/02/23 PHP
javascript的对话框详解与参数
2007/03/08 Javascript
JavaScript高级程序设计阅读笔记(六) ECMAScript中的运算符(二)
2012/02/27 Javascript
jQuery图片的展开和收缩实现代码
2013/04/16 Javascript
获取中文字符串的实际长度代码
2014/06/05 Javascript
jQuery中attr()和prop()在修改checked属性时的区别
2014/07/18 Javascript
jQuery和AngularJS的区别浅析
2015/01/29 Javascript
cocos2dx骨骼动画Armature源码剖析(一)
2015/09/08 Javascript
基于Bootstrap和jQuery构建前端分页工具实例代码
2016/11/23 Javascript
jQuery插件HighCharts绘制2D柱状图、折线图和饼图的组合图效果示例【附demo源码下载】
2017/03/09 Javascript
vue.js实现价格格式化的方法
2017/05/23 Javascript
详解react-router4 异步加载路由两种方法
2017/09/12 Javascript
详解react-native-fs插件的使用以及遇到的坑
2017/09/12 Javascript
浅谈如何使用 webpack 优化资源
2017/10/20 Javascript
解决Layui 表单提交数据为空的问题
2018/08/15 Javascript
详解js模板引擎art template数组渲染的方法
2018/10/09 Javascript
如何让微信小程序页面之间的通信不再变困难
2019/06/03 Javascript
如何换个角度使用VUE过滤器详解
2019/09/11 Javascript
非常漂亮的js烟花效果
2020/03/10 Javascript
python中使用mysql数据库详细介绍
2015/03/27 Python
python3 小数位的四舍五入(用两种方法解决round 遇5不进)
2019/04/11 Python
关于Python中定制类的比较运算实例
2019/12/19 Python
用Python在Excel里画出蒙娜丽莎的方法示例
2020/04/28 Python
HTML5移动端开发中的Viewport标签及相关CSS用法解析
2016/04/15 HTML / CSS
小班下学期幼儿评语
2014/12/30 职场文书
告知书格式
2015/07/01 职场文书
技术转让协议书
2016/03/19 职场文书
详解Java分布式事务的 6 种解决方案
2021/06/26 Java/Android
解决Redis启动警告问题
2022/02/24 Redis
python中的sys模块和os模块
2022/03/20 Python
Android开发实现极为简单的QQ登录页面
2022/04/24 Java/Android