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 相关文章推荐
经验几则 推荐
Sep 05 Javascript
基于jquery实现的移入页面上空文本框时,让它变为焦点,移出清除焦点
Jul 26 Javascript
js setTimeout 常见问题小结
Aug 13 Javascript
jQuery简单几行代码实现tab切换
Mar 10 Javascript
jquery实现LED广告牌旋转系统图片切换效果代码分享
Aug 26 Javascript
JavaScript预解析及相关技巧分析
Apr 21 Javascript
jquery实现图片上传前本地预览
Apr 28 jQuery
BootStrap Validator 根据条件在JS中添加或移除校验操作
Oct 12 Javascript
JavaScript数据结构之双向链表和双向循环链表的实现
Nov 28 Javascript
vue better-scroll插件使用详解
Jan 25 Javascript
浅谈jquery fullpage 插件增加头部和版权的方法
Mar 20 jQuery
JavaScript页面加载事件实例讲解
Sep 01 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
真正的ZIP文件操作类(php)
2007/07/21 PHP
php生成静态文件的多种方法分享
2012/07/17 PHP
PHP如何利用P3P实现跨域
2013/08/24 PHP
php防止sql注入之过滤分页参数实例
2014/11/03 PHP
PHP面向对象程序设计内置标准类,普通数据类型转为对象类型示例
2019/06/12 PHP
jQuery 无刷新分页实例代码
2013/11/12 Javascript
express的中间件cookieParser详解
2014/12/04 Javascript
jquery append 动态添加的元素事件on 不起作用的解决方案
2015/07/30 Javascript
JS+CSS实现简单滑动门(滑动菜单)效果
2015/09/19 Javascript
百度坐标(BD09)、国测局坐标(火星坐标,GCJ02)、和WGS84坐标系之间的转换
2016/02/19 Javascript
Vue中使用vux的配置详解
2017/05/05 Javascript
ECMAscript 变量作用域总结概括
2017/08/18 Javascript
vue-cli的eslint相关用法
2017/09/29 Javascript
jQuery.parseJSON()函数详解
2019/02/28 jQuery
vue-父子组件和ref实例详解
2019/11/10 Javascript
JS实现多选框的操作
2020/06/24 Javascript
你不知道的 TypeScript 高级类型(小结)
2020/08/28 Javascript
[05:39]2014DOTA2国际邀请赛 DK晋级胜者组专访战队国士无双
2014/07/14 DOTA
python基于mysql实现的简单队列以及跨进程锁实例详解
2014/07/07 Python
python处理按钮消息的实例详解
2017/07/11 Python
Python编程之string相关操作实例详解
2017/07/22 Python
Python+OpenCV让电脑帮你玩微信跳一跳
2018/01/04 Python
详解python OpenCV学习笔记之直方图均衡化
2018/02/08 Python
python paramiko利用sftp上传目录到远程的实例
2019/01/03 Python
简单了解python数组的基本操作
2019/11/26 Python
python函数调用,循环,列表复制实例
2020/05/03 Python
keras 简单 lstm实例(基于one-hot编码)
2020/07/02 Python
python按照list中字典的某key去重的示例代码
2020/10/13 Python
Python爬虫破解登陆哔哩哔哩的方法
2020/11/17 Python
安装pyinstaller遇到的各种问题(小结)
2020/11/20 Python
领导党性分析材料
2014/02/15 职场文书
销售助理岗位职责
2014/02/21 职场文书
班级读书活动总结
2014/06/30 职场文书
党员个人查摆剖析材料
2014/10/16 职场文书
2014年技术部工作总结
2014/12/12 职场文书
基于Python和openCV实现图像的全景拼接详细步骤
2021/10/05 Python