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 相关文章推荐
Javascript typeof 用法
Dec 28 Javascript
JQUERY操作JSON实例代码
Feb 09 Javascript
jQuery 获取对象 根据属性、内容匹配, 还有表单元素匹配
May 31 Javascript
Jquery ajax传递复杂参数给WebService的实现代码
Aug 08 Javascript
一张Web前端的思维导图分享
Jul 03 Javascript
JS脚本根据手机浏览器类型跳转WAP手机网站(两种方式)
Aug 04 Javascript
AngularJS在IE8的不支持的解决方法
May 13 Javascript
zepto与jquery的区别及zepto的不同使用8条小结
Jul 28 Javascript
JQuery异步提交表单与文件上传功能示例
Jan 12 Javascript
vue中for循环更改数据的实例代码(数据变化但页面数据未变)
Sep 15 Javascript
vue使用axios时关于this的指向问题详解
Dec 22 Javascript
jQuery+ajax实现动态添加表格tr td功能示例
Apr 23 jQuery
微信小程序实现音乐播放页面布局
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
main.php
2006/12/09 PHP
使ecshop模板中可引用常量的实现方法
2011/06/02 PHP
js活用事件触发对象动作
2008/08/10 Javascript
ExtJS4 Grid改变单元格背景颜色及Column render学习
2013/02/06 Javascript
利用JQuery和Servlet实现跨域提交请求示例分享
2014/02/12 Javascript
Javascript 运动中Offset的bug解决方案
2014/12/24 Javascript
浅析nodejs实现Websocket的数据接收与发送
2015/11/19 NodeJs
JavaScript 函数的执行过程
2016/05/09 Javascript
利用AngularJs实现京东首页轮播图效果
2016/09/08 Javascript
jQuery实现的瀑布流加载效果示例
2016/09/13 Javascript
nodejs的HTML分析利器node-jquery用法浅析
2016/11/08 NodeJs
如何使用vuejs实现更好的Form validation?
2017/04/07 Javascript
javaScript实现鼠标在文字上悬浮时弹出悬浮层效果
2020/04/12 Javascript
对于防止按钮重复点击的尝试详解
2019/04/22 Javascript
Vue侦测相关api的实现方法
2019/05/22 Javascript
layui-table获得当前行的上/下一行数据的例子
2019/09/24 Javascript
理解JavaScript中的对象
2020/08/25 Javascript
解决removeEventListener 无法清除监听的问题
2020/10/30 Javascript
基于vue与element实现创建试卷相关功能(实例代码)
2020/12/07 Vue.js
python局域网ip扫描示例分享
2014/04/03 Python
用Python实现命令行闹钟脚本实例
2016/09/05 Python
利用django如何解析用户上传的excel文件
2017/07/24 Python
Python3 socket即时通讯脚本实现代码实例(threading多线程)
2020/06/01 Python
加拿大女包品牌:Matt & Nat
2017/05/12 全球购物
英国卫浴商店:Ergonomic Design
2019/09/22 全球购物
妇产医师自荐信
2014/01/29 职场文书
彩妆大赛策划方案
2014/05/13 职场文书
2015最新学生自我评价范文
2015/03/03 职场文书
公司总经理岗位职责
2015/04/01 职场文书
预备党员考察意见范文
2015/06/01 职场文书
2016继续教育培训学习心得体会
2016/01/19 职场文书
《秋天的怀念》教学反思
2016/02/17 职场文书
血轮眼轮回眼特效 html+css
2021/03/31 HTML / CSS
Python爬虫之爬取某文库文档数据
2021/04/21 Python
pandas中对文本类型数据的处理小结
2021/11/01 Python
《极主夫道》真人电影正式预告 定档6月3日上映
2022/04/05 日漫