Uniapp 实现顶部标签页切换功能?

uniapp 实现可滑动顶部选项卡(菜单) 阅读详情
AI摘要

本文介绍了如何在Uniapp中实现顶部标签页切换功能。首先,介绍了安装uView UI库的步骤,然后详细说明了使用uView UI中的Tab组件来实现标签页切换的方法,包括页面布局、事件监听和样式优化。此外,还提供了使用纯Vue.js实现标签切换的方案,包括组件的使用和事件处理。最后,总结了两种实现方式的优缺点。

  在 UniApp 中实现顶部标签页切换功能,你可以使用 u-tab-bar 或者通过自定义的方式来实现。下面是使用 uView UI库中的 u-tab-bar 组件来实现顶部标签页切换的步骤。你也可以使用 swiper 组件来做页面切换。

1. 安装 uView UI(如果尚未安装)

如果你还没有安装 uView UI,可以在 uni-app 项目中通过以下命令安装:

npm install uview-ui

然后,在 uni-app 项目的 main.js 文件中引入 uView UI:

import uView from 'uview-ui';
Vue.use(uView);

2. 使用 u-tab-bar 组件实现标签页切换

你可以使用 u-tab-bar 来快速实现顶部标签切换。以下是一个简单的示例代码:

2.1 页面布局(pages/index/index.vue)
<template>
  <view>
    <u-tab-bar :list="tabList" v-model="currentTab" @change="onTabChange">
      <!-- 页面内容区域 -->
      <swiper :current="currentTab" @change="onSwiperChange" indicator-dots="true" autoplay="false">
        <swiper-item>
          <view class="tab-content">Tab 1 Content</view>
        </swiper-item>
        <swiper-item>
          <view class="tab-content">Tab 2 Content</view>
        </swiper-item>
        <swiper-item>
          <view class="tab-content">Tab 3 Content</view>
        </swiper-item>
      </swiper>
    </u-tab-bar>
  </view>
</template>

<script>
export default {
  data() {
    return {
      currentTab: 0,  // 当前选中的标签索引
      tabList: [
        { text: 'Tab 1', icon: 'home' },  // 标签1
        { text: 'Tab 2', icon: 'search' },  // 标签2
        { text: 'Tab 3', icon: 'user' },  // 标签3
      ]
    };
  },
  methods: {
    // 标签切换事件
    onTabChange(index) {
      this.currentTab = index;
    },
    // swiper切换事件
    onSwiperChange(event) {
      this.currentTab = event.detail.current;
    }
  }
};
</script>

<style scoped>
.tab-content {
  padding: 20px;
  background-color: #f5f5f5;
}
</style>

2.2 解释

  • u-tab-bar 组件通过 v-model="currentTab" 绑定当前选中的标签索引。
  • swiper 组件用于滑动切换内容区域的页面,current 属性与 currentTab 绑定,实现页面切换。
  • 使用 @change 事件监听标签切换,更新当前的标签索引 currentTab。
  • u-tab-bar 中的 list 属性是一个数组,包含了标签的相关信息,比如文本和图标。

3. 样式和优化

  • 你可以通过自定义 u-tab-bar 的样式来满足自己的需求,比如修改标签的颜色、大小等。
  • 通过 swiper 组件实现内容切换,支持滑动效果,也可以通过按钮或其他手段进行切换。

4. 使用纯 swiper 实现标签切换

如果你不想使用 uView 的 u-tab-bar,也可以单纯用 swiper 来实现顶部标签切换。

<template>
  <view>
    <view class="tabs">
      <view class="tab" :class="{ active: currentTab === 0 }" @click="currentTab = 0">Tab 1</view>
      <view class="tab" :class="{ active: currentTab === 1 }" @click="currentTab = 1">Tab 2</view>
      <view class="tab" :class="{ active: currentTab === 2 }" @click="currentTab = 2">Tab 3</view>
    </view>
    <swiper :current="currentTab" @change="onSwiperChange">
      <swiper-item>
        <view>Tab 1 Content</view>
      </swiper-item>
      <swiper-item>
        <view>Tab 2 Content</view>
      </swiper-item>
      <swiper-item>
        <view>Tab 3 Content</view>
      </swiper-item>
    </swiper>
  </view>
</template>

<script>
export default {
  data() {
    return {
      currentTab: 0,
    };
  },
  methods: {
    onSwiperChange(event) {
      this.currentTab = event.detail.current;
    }
  }
};
</script>

<style scoped>
.tabs {
  display: flex;
  justify-content: space-around;
  background-color: #f0f0f0;
  padding: 10px 0;
}

.tab {
  padding: 10px 20px;
  font-size: 16px;
  cursor: pointer;
}

.tab.active {
  font-weight: bold;
  color: #007aff;
}

swiper {
  margin-top: 10px;
}
</style>

在这个例子中,我们通过 swiper 组件和点击事件实现了标签的切换。点击标签切换时,swiper 会自动切换到对应的页面。

总结

这两种方式都可以实现顶部标签页切换的功能。使用 uView 的 u-tab-bar 组件更加方便且美观,如果需要自定义样式或者不依赖于外部库,也可以选择纯 swiper 的实现方式。

uniapp 自定义tab栏切换 在tabbar的页面中,当用户进行左右滑动时,能够自动切换到相应的页面。这个过程可以通过Uniapp中的swiper组件实现也可以通过自定义完成。这里我使用的是原生态开发。 阅读详情

相关推荐

uniapp 顶部tab切换菜单

最近在使用uniAPP做项目,页面中要使用到顶部tab菜单,但又不想使用别人的插件,于是自己用代码实现了一下

UniApp 组件 u-tabs 详细讲解

该属性设置选项卡切换动画的缓动函数,可选的值包括 "linear"、"ease"、"ease-in"、"ease-out"、"ease-in-out" 等。可以设置为 "slide"(左右滑动切换)、"fade"(淡入淡出切换)或自定义动画名称(需要在全局样式中定义)。通过使用 u-tabs 组件,您可以轻松地创建具有选项卡切换功能的界面。该属性指定当前选中的选项卡的索引值,可以使用 v-model 进行双向绑定。通过回调函数的参数可以获取当前选中的选项卡索引值。标签来实现多个选项卡之间的切换。

zzx262625的博客 1万+

高通camera open代码流程(hal到kernel)

内容:简单介绍Camera open代码调用流程,从HAl到kernel。(api1+hal1) 前言 Android camera api和hal对应关系。安卓在版本更新过程中,camera相关代码也经历了几个版本的更新,表现为camera HAL版本更新(HAL1->HAL2->HAL3),camera API版本更新(camera API1->camera API2),接下...

oxoo123的专栏 4275

uniapp中顶部tap头切换的三种方式

uniapp中tap头切换的三种方式

weixin_57400398的博客 3066

HyperLynx VX2.5 实战:5分钟搞定LPDDR4X内存的批量仿真与报告分析

本文详细介绍了如何使用HyperLynx VX2.5进行LPDDR4X内存的批量仿真与报告分析,通过智能网络分组和并行计算技术,5分钟内即可完成全流程验证。文章涵盖工程准备、批量仿真配置、报告解析及典型问题解决方案,帮助工程师高效提升PCB仿真效率,确保移动设备内存接口的稳定性与性能。

weixin_42683394的博客 400

科研人必备!用WisPaper搭建个人文献知识库的完整指南(附Zotero联动技巧)

本文详细介绍了如何利用WisPaper搭建高效的个人文献知识库,包括文件命名标准化、文件夹结构设计、语义搜索技巧及与Zotero的深度联动方法。通过智能标签系统和知识图谱功能,科研人员可以快速定位关键文献,提升研究效率。特别适合需要管理大量学术文献的研究者。

weixin_30823001的博客 265

[保姆级教程]uniapp自定义标签页切换组件

导文 unaipp自带的标签页和ui设计相差太大,直接修改组件比手写一个还麻烦,下面手写一个。 样式 先用scroll-view做一个滑动,不然多的话滑动不了。 登录后复制 <scroll-view class="scroll-view_H" scroll-x="true" @scroll="scroll" ...

cnzzs的博客 1202

Delphi 12.3 精简绿色版下载

Delphi精简绿色版基于原版安装,去掉了InterBase、法语、德语、日语,只保留了Delphi Windows 32和Delphi Windows 64桌面开发,其余部分未做任何修改。Delphi精简绿色版不含任何破解,仅供学习和研究,24小时后请自行删除,如需继续使用Delphi,请购买正版。绿色版基于原版安装,未做任何精简和修改。绿色版不含任何破解,仅供学习和研究,24小时后请自行删除,如需继续使用RAD Studio,请购买正版。

全粘工程师 4286

uniapp 微信小程序 tabs选项卡组件,可以设置固定顶部-吸顶(fixed),随页面滚动自动切换选项(仿淘宝详情),附带选项切换动画

可以设置tabs贴顶,(固定在顶部) 点击选项,页面滚动到指定类型位置 页面滚动,typeTabs滚动到指定的类型 this.$refs.tabs.clickType:调用子组件的方法,第三个值传true,防止页面点击回调多次出发,导致滚动错乱 onReady:页面加载完成后根据ID获取对应选项在页面中的top值,用于页面滚动时的判断依据 onPageScroll:使用timer节流,防止计算..................

thj13896076523的博客 9937

AFSim2.9.0学习笔记 —— 1、AFSim及完整工具介绍(文末附:完整afsim2.9.0源码、编译好的完整工具包、中文教材等)

AFSim2.9.0学习笔记 —— 1、AFSim及完整工具介绍(附:完整afsim2.9.0源码、编译好的完整工具包、中文教材等)

5165

【WRF模拟】土地利用类型的确定:最大覆盖法/瓦片法

土地利用类型的确定:最大覆盖法/瓦片法

WW、forever的博客 1527

uniapp实现tabs切换(可滑动)

uniapp 实现tabs切换

不会写代码的前端 1万+

【WRF数据准备】制备月尺度静态地理数据:LAI、Fpar、LUCC

【WRF数据准备】制备月尺度静态地理数据:LAI、Fpar、LUCC

WW、forever的博客 800

uniapp 实现路由切或者tab切换详细步骤

在 UniApp 中实现页面路由和标签页(Tab)切换是核心开发技能。下面为你梳理详细步骤和不同场景的实践方案。 下面表格中帮助你快速了解 UniApp 中主要的页面跳转方式及其区别:最常用的跳转方式是 。在跳转时,可以通过URL传递参数。 在目标页面,于 生命周期函数中接收参数: 注意:通过URL传递的参数值会被转换为字符串类型,如有需要(如ID为数字),请在接收后进行类型转换 。使用 可以返回上一页面或多级页面。 🏷️ 实现Tab切换 在 UniApp 中,Tab 切换有两种主要形式:基于原生 T

前端大白话 1312

基于遗传算法改进BP神经网络的电池容量SOC预测

,遗传算法BP神经网络能很好的实现对电池容量soc的训练和预测,BP神经网络是一种成熟的神经,相对于其他神经网络,拥有很多的训练函数,传递函数,可以调节的参数非常多,对各种问题都可以达到一个比较理想的效果,关键看如何调试参数,选择训练传递函数,遗传算法改进BP神经网络的初始权值阈值,达到改进BP神经网络的目的,从而更好的实现对电池容量SOC的预测

abc991835105的博客 764

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

【组件封装】uniapp vue3 封装一个完整的Tabs(标签页)组件教程,功能由简到杂实现讲解。

手把手教你封装一个移动端 Tabs组件(标签页),功能由简到杂以uniapp vue3为代码示例讲解。

前端(全栈)、AI Agent开发技术分享 3122

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

uniapp滑动切换tab标签_Axure交互案例:标签页切换,还有谁不会?5分钟轻松掌握...

标签页的定义与应用标签页是一种选项卡切换组件,分隔内容上有关联但属于不同类别的数据集合,提供平级的区域将大块内容进行收纳和展现,保持界面整洁。各选项卡下面的内容从物理上都从属于一个页面的大容器当中,他们都对应同一个页面访问地址。table标签页的应用场景非常广泛,无论是将复杂的信息进行分类处理,还是不同类别的功能进行分类设计,都可以使用标签页组件。如果我们细心观察,会发现很多互联网产品都使用了标签...

weixin_39616503的博客 918

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

uni-app 导航栏标签页切换

uni-app 导航栏标签页切换

weixin_45522419的博客 866

uniapp tab栏标签页切换

<template> <view> <view class="tab_nav"> <view class="navTitle" v-for="(item,index) in navList" :key="index" > <view :class="{'active':isActive === index}" @click="checked(index)"> {{item.title}} </view&.

爬楼梯的前端小白的博客 5773

基于uniapp写的标签页

最近自己写了一个标签页的组件 <template> <view class="fu-page" :style="{ position: sticky ? 'sticky' : 'initial', top: top + 'px', 'z-index': zIndex }"> <scroll-view class="fu-tab" scroll-x :scroll-left="moveX" :scroll-with-animation="animation" :sty

qq_43338177的博客 2019

vue、uniapp实现组件动态切换

vue动态组件 uniapp动态组件 Tabs标签切换组件

我总是词不达意的博客 2040

uniapp——打造动态交互式顶部导航栏(分段器+吸附效果+智能加载)

本文详细讲解了在uniapp中实现动态交互式顶部导航栏的完整方案。核心内容包括:利用分段器实现可滑动的标签切换,通过CSS sticky或JS监听实现吸附效果,并集成mescroll-uni组件智能管理下拉刷新与上拉加载更多,从而打造流畅的移动端用户体验。

weixin_29016833的博客 263

uniapp滑动切换tab标签_Multrin 将不同应用程序拖放“合并”起来,组成多标签页窗口!...

我们平时上网都已经习惯了Google Chrome、FireFox等浏览器的「多标签页」功能,打开多个页面时会更加的整洁,切换也更加方便高效,可谓是好处多多。但是,我们日常使用的各种 Windows 应用程序很多都不支持多标签页。而现在,借助Multrin这款免费开源的窗口管理工具,你就可以让各个应用程序窗口“合并”起来,以标签页的形式显示和操作,让Windows所有应用都享...

weixin_39530839的博客 558

微信小程序uniapp,vant-weapp中Tab 标签页简单使用和修改title文字大小

微信小程序uniapp,vant-weapp中Tab 标签页简单使用和修改title文字大小 前提:在uniapp项目中,安装vant-weapp 方法一:官方文档中的快速上手中有教程 网址:https://vant-contrib.gitee.io/vant-weapp/#/quickstart 方法二:搜索其他大佬的教程 第一步:在pages.json页面引入(其他组件引入也是相同的) 依照文档需要"van-tab"和"van-tabs"

Aglaia_sue的博客 5549

uni-app 跨端开发时,使用v-if和v-show来实现类似标签页切换的功能

【代码】uni-app 跨端开发时,使用v-if和v-show来实现类似标签页切换的功能。

weixin_39673931的博客 621
上一篇: Vulnhub empire-lupinone靶机攻击实战(一)
下一篇: 微信小程序实现左侧商品类型选择,右边显示商品列表的效果?
nihui123
博客等级 码龄11年 7586粉丝 437原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

nihui123

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值