当前位置:首页 > uni-app

uniapp制作标签页

2026-02-06 11:32:43uni-app

使用uniapp制作标签页的方法

方法一:使用uni-app官方组件uni-tabs

uni-app提供了uni-tabs组件用于快速创建标签页,支持横向和纵向布局,具有滑动切换效果。

uniapp制作标签页

<template>
  <view>
    <uni-tabs :current="current" @change="changeTab">
      <uni-tab title="标签1"></uni-tab>
      <uni-tab title="标签2"></uni-tab>
      <uni-tab title="标签3"></uni-tab>
    </uni-tabs>

    <view v-if="current === 0">内容1</view>
    <view v-if="current === 1">内容2</view>
    <view v-if="current === 2">内容3</view>
  </view>
</template>

<script>
export default {
  data() {
    return {
      current: 0
    }
  },
  methods: {
    changeTab(e) {
      this.current = e.index
    }
  }
}
</script>

方法二:自定义实现标签页

通过view和样式自定义标签页,灵活性更高。

<template>
  <view class="tab-container">
    <view class="tab-bar">
      <view 
        v-for="(item, index) in tabs" 
        :key="index"
        :class="['tab-item', current === index ? 'active' : '']"
        @click="switchTab(index)"
      >
        {{item.title}}
      </view>
    </view>

    <view class="tab-content">
      <view v-show="current === 0">内容1</view>
      <view v-show="current === 1">内容2</view>
      <view v-show="current === 2">内容3</view>
    </view>
  </view>
</template>

<script>
export default {
  data() {
    return {
      current: 0,
      tabs: [
        {title: '标签1'},
        {title: '标签2'},
        {title: '标签3'}
      ]
    }
  },
  methods: {
    switchTab(index) {
      this.current = index
    }
  }
}
</script>

<style>
.tab-bar {
  display: flex;
  border-bottom: 1px solid #eee;
}
.tab-item {
  flex: 1;
  text-align: center;
  padding: 15px 0;
}
.active {
  color: #007AFF;
  border-bottom: 2px solid #007AFF;
}
.tab-content {
  padding: 15px;
}
</style>

方法三:使用第三方组件库

如uView UI等第三方组件库提供了更丰富的标签页组件。

<template>
  <u-tabs
    :list="list"
    :current="current"
    @change="change"
  ></u-tabs>

  <view v-if="current === 0">内容1</view>
  <view v-if="current === 1">内容2</view>
  <view v-if="current === 2">内容3</view>
</template>

<script>
export default {
  data() {
    return {
      current: 0,
      list: [
        {name: '标签1'},
        {name: '标签2'},
        {name: '标签3'}
      ]
    }
  },
  methods: {
    change(index) {
      this.current = index;
    }
  }
}
</script>

注意事项

  • 对于性能要求高的场景,建议使用v-show而非v-if来切换内容
  • 需要滑动效果时,可以结合swiper组件实现
  • 不同平台可能有样式差异,需测试调整
  • 动态加载标签内容时注意数据更新机制

uniapp制作标签页

标签: 标签uniapp
分享给朋友:

相关文章

vue实现标签

vue实现标签

Vue 实现标签功能的方法 在 Vue 中实现标签功能可以通过多种方式,以下是几种常见的方法: 使用动态组件和 v-for 指令 通过 v-for 循环渲染标签列表,结合动态组件或条件渲染实现标签内…

uniapp实现支付功能

uniapp实现支付功能

支付功能实现概述 在UniApp中实现支付功能通常需要对接第三方支付平台(如微信支付、支付宝支付等)。以下是基于微信支付和支付宝支付的通用实现流程。 微信支付实现步骤 1. 配置支付权限 在微信开…

uniapp样式库

uniapp样式库

uniapp 常用样式库推荐 uView UI uView 是专为 uniapp 设计的多端兼容 UI 框架,提供丰富的组件和工具类。支持 Vue3 组合式 API,内置主题定制功能,常用于快速构建企…

uniapp开发电视应用

uniapp开发电视应用

开发环境准备 确保已安装HBuilderX最新版本,这是uniapp官方推荐的开发工具。安装Node.js环境,用于依赖管理和打包构建。准备Android Studio或Xcode用于调试和打包TV应…

uniapp面试问啥

uniapp面试问啥

技术基础类问题 UniApp框架特性 跨端实现原理及条件编译的使用场景 如何理解"一次开发,多端运行"的优缺点 rpx与vw/vh单位的适配差异 Vue相关 生命周期在UniA…

uniapp改变checkbox选中状态

uniapp改变checkbox选中状态

修改 checkbox 选中状态的方法 在 uniapp 中修改 checkbox 的选中状态可以通过以下几种方式实现: 绑定 v-model 控制状态 通过数据绑定方式控制 checkbox 的…