完成样式

项目地址:https://gitee.com/jielov/uni-app-tabbar

顶部tabbar代码

<!--顶部导航栏-->
<view class="uni_tab_bar">
<view class="uni_swiper_tab order_top">
<block v-for="(tabBar,index) in tabBars" :key="index">
<view class="swiper_tab_list" :class="{'active': tabIndex==tabBar.id}" @tap="toggleTab(tabBar.id)">
{{tabBar.name}}
<view class="swiper_tab_line">
</view>
</view>
</block>
</view>
</view>

使用v-for 循环 tabbars 来进行标题的加载 v-for="(tabBar,index) in tabBars" :key="index" 。

:key="index" 使得在勾选复选框后不会不随这内容的变动而变动例如在勾选第一个后 添加一个新的内容后后勾线后的复选框不会一直是第一个

:class="{'active': tabIndex==index}" 根据index,动态切换css 样式,tabIndex为初始化第一个选择项,在data里面定义tabIndex: 0,tabBars循环数据,放在data里面。

data(){
return{
tabIndex: 0, //选中标签栏的序列
tabBars: [
{name: '全部',id: '0'},
{name: '待服务',id: '1'},
{name: '服务中',id: '2'},
{name: '已完成',id: '3'},
{name: '已取消',id: '4'},
],
}
}

@tap="toggleTab(tabBar.id)" @tab为点击切换事件,放在methods里面。

toggleTab(index) {
  this.tabIndex = index;
},

以下为tab内容区域,css样式在最后面哦~

<view class="order_centext">
  <swiper :current="tabIndex" @change="tabChange" class="order_centext">
    <swiper-item v-for="(content,index) in tabBars" :key="index">
      <view class="swiper_item">{{content.name}}</view>
    </swiper-item>
  </swiper>
</view>

swiper为滑动切换内容,tabbar滑动切换稍微没那么流畅,有点卡顿。可以选择去掉滑动,只保留点击切换即可。

@change="tabChange" 滑动事件,同样也是放在methods里面

//滑动切换swiper
tabChange(e) {
const tabIndex = e.detail.current
this.tabIndex = tabIndex
}

css样式

.order_top {
display: flex;
align-items: center;
justify-content: space-around;
background-color: #FFFFFF;
} .swiper_tab_list {
color: #888888;
font-weight: bold;
} .uni_tab_bar .active {
color: #FEDE33;
margin-top: 17rpx;
background-color: #FFFFFF;
} .active .swiper_tab_line {
border-bottom: 4rpx solid #FEDE33;
width: 50rpx;
margin: auto;
margin-top: 17rpx;
background-color: #0B9C13;
} .uni_swiper_tab {
border-bottom: 2rpx solid #eeeeee;
margin-bottom: 15rpx;
} .order_centext {
height: 800rpx;
position: fixed;
top: 160rpx;
left: 0;
right: 0;
bottom: 0;
background-color: #8A6DE9;
margin-left: 15rpx;
margin-right: 15rpx;
}

uni-app 顶部tabbar切换的更多相关文章

  1. Flutter AppBar 自定义顶部导航按钮 图标、颜色 以及 TabBar 定义顶部 Tab 切换

    Flutter AppBar 自定义顶部按钮图 标.颜色 属性 描述 leading 在标题前面显示的一个控件,在首页通常显示应用 的 logo;在其他界面通常显示为返回按钮 title 标题,通常显 ...

  2. Flutter——TabBar组件(顶部Tab切换组件)

    TabBar组件的常用属性: 属性 描述 tabs 显示的标签内容,一般使用 Tab 对象,也可以是其他的Widget  controller TabController 对象 isScrollabl ...

  3. AppBar 自定义顶部导航按钮 图标、颜色 以及 TabBar 定义顶部 Tab 切换

    一.Flutter AppBar 自定义顶部按钮图标.颜色 leading   在标题前面显示的一个控件,在首页通常显示应用的 logo:在其他界面通常显示为返回按钮 title  标题,通常显示为当 ...

  4. 19 Flutter 自定义AppBar 定义顶部Tab切换 底部Tab结合顶部Tab实现类似头条页面布局(27分36秒)

    Flutter AppBar自定义顶部导航按钮图标.颜色以及TabBar定义顶部Tab切换. leading:在标题前面显示的一个控件,在首页通常显示应用的logo:在其他界面通常显示为付汇按钮. t ...

  5. TabController定义顶部tab切换

    前面通过DefaultTabController组件实现了AppBar里面的顶部导航切换,但是在项目中有数据请求,上拉加载更多等操作的时候,前面的写法,就不是很方便操作,因此,在flutter里面,还 ...

  6. 【iOS】彩色TabBar切换动画实现

    无意间看到一个彩色TabBar切换的设计图,感觉很不错,有空就把他实现了. 环境信息 Mac OS X 10.10.4 Xcode 6.4 iOS 8.4 效果图: 效果图 源码下载地址: https ...

  7. 后台自动运行,定期记录定位数据(Hbuilder监听 app由前台切换到后台、切换运行环境的 监听方法)

    http://ask.dcloud.net.cn/question/28090 https://blog.csdn.net/qq_37508970/article/details/86649703 各 ...

  8. vue,一路走来(17)--底部tabbar切换

    <router-link></router-link>存在router-link-active属性,那么底部tabbar切换就简单多了.不会再出现刷新回到第一个的bug. &l ...

  9. uni app中使用自定义图标库

    项目中难免会用到自定义图标,那在uni app中应该怎么使用呢? 首先, 将图标目录放在static资源目录下: 在main.js中引入就可以全局使用了 import '@/static/icon-o ...

随机推荐

  1. java课堂作业--异常处理

    一. 运行结果: 二. 结果: ArrayIndexOutOfBoundsException/内层try-catch 发生ArithmeticException 三. 结果: ArrayIndexOu ...

  2. ADB常用的命令

    ADB常用的命令: 1)adb devices---获取设备列表及设备状态 2)adb get-state---获取设备的状态 设备的状态有 3 钟,device.offline.unknown. d ...

  3. CommandLineRunner 可能会导致你的应用宕机停止,我劝你耗子尾汁

    hello,大家好,我是小黑,又和大家见面啦~~ 如果你去某度搜索关键词 CommandLineRunner 初始化资源 ,截止小黑同学写这篇推文之前,大概能收到 1,030,000 个结果. 网上大 ...

  4. MySQL技术内幕InnoDB存储引擎(二)——InnoDB存储引擎

    1.概述 是一个高性能.高可用.高扩展的存储引擎. 2.InnoDB体系架构 InnoDB存储引擎主要由内存池和后台线程构成. 其中,内存池由许多个内存块组成,作用如下: 维护所有进程和线程需要访问的 ...

  5. memcached session会话共享

    1 安装依赖包yum install libevent livevent-devel nc -y 2 yum 安装memcachedyum install -y memcached 3 启动memec ...

  6. rhel6.4搭建rac前共享存储配置(iscsi+multipath+udev)

    rhel6.4搭建rac前共享存储配置(iscsi+multipath+udev) server: IP配置: 192.168.12.30 192.168.12.40   添加一个100G磁盘/dev ...

  7. Spring自带的定时任务框架Schedule的优缺点及使用

    spring自带的定时任务框架的有点:简单,拆箱即用 spring自带的定时任务框架的缺点: 不支持集群:为避免重复执行的问题 不支持生命周期统一管理:不重启服务情况下关闭,启动任务 不支持分片任务: ...

  8. Elasticsearch 新机型发布,性能提升30%

    跨年迎双节,2020 年最后一次囤货的机会来啦! Elasticsearch Service 星星海新机型发布,更高性能,更低价格. 爆款机型限时特惠,帮助您顺畅体验 Elasticsearch 云上 ...

  9. Python高级语法-GIL-理解(4.1.1)

    @ 目录 1.结论 2.代码 关于作者 1.结论 当一个py文件执行多进程的时候,是真的在并发 当一个文件在使用多线程的时候,伪并发,在同一时刻只有一个线程执行,因为GIL Guido都说了,不好除这 ...

  10. 多任务-python实现-进程,协程,线程总结(2.1.16)

    @ 目录 1.类比 2.总结 关于作者 1.类比 一个生产玩具的工厂: 一个生产线成为一个进程,一个生产线有多个工人,所以工人为线程 单进程-多线程:一条生产线,多个工人 多进程-多线程:多条生产线, ...