当前位置:首页 > uni-app

uniapp制作标签页

2026-03-05 13:27:16uni-app

使用uniapp制作标签页的方法

在uniapp中制作标签页可以通过多种方式实现,以下是几种常见的方法:

使用uniapp内置组件

uniapp提供了uni-tab-baruni-tab-item组件,可以快速创建标签页:

<template>
  <view>
    <uni-tab-bar :current="current" @change="changeTab">
      <uni-tab-item title="首页" icon="home"></uni-tab-item>
      <uni-tab-item title="分类" icon="list"></uni-tab-item>
      <uni-tab-item title="购物车" icon="cart"></uni-tab-item>
      <uni-tab-item title="我的" icon="person"></uni-tab-item>
    </uni-tab-bar>

    <view v-if="current === 0">首页内容</view>
    <view v-if="current === 1">分类内容</view>
    <view v-if="current === 2">购物车内容</view>
    <view v-if="current === 3">我的内容</view>
  </view>
</template>

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

自定义标签页样式

如果需要更灵活的样式控制,可以完全自定义标签页:

<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-if="current === 0">首页内容</view>
      <view v-if="current === 1">分类内容</view>
      <view v-if="current === 2">购物车内容</view>
      <view v-if="current === 3">我的内容</view>
    </view>
  </view>
</template>

<script>
export default {
  data() {
    return {
      current: 0,
      tabs: [
        {title: '首页'},
        {title: '分类'},
        {title: '购物车'},
        {title: '我的'}
      ]
    }
  },
  methods: {
    switchTab(index) {
      this.current = index
    }
  }
}
</script>

<style>
.tab-bar {
  display: flex;
  height: 80rpx;
  line-height: 80rpx;
  background-color: #f8f8f8;
}
.tab-item {
  flex: 1;
  text-align: center;
}
.active {
  color: #007aff;
  border-bottom: 4rpx solid #007aff;
}
.tab-content {
  padding: 20rpx;
}
</style>

使用第三方组件库

uniapp生态中有许多优秀的第三方组件库,如uView、ColorUI等,提供了更丰富的标签页组件:

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

    <view v-if="current === 0">首页内容</view>
    <view v-if="current === 1">分类内容</view>
    <view v-if="current === 2">购物车内容</view>
    <view v-if="current === 3">我的内容</view>
  </view>
</template>

<script>
export default {
  data() {
    return {
      current: 0,
      tabs: [
        {name: '首页'},
        {name: '分类'},
        {name: '购物车'},
        {name: '我的'}
      ]
    }
  },
  methods: {
    changeTab(index) {
      this.current = index
    }
  }
}
</script>

实现滑动切换效果

结合swiper组件可以实现滑动切换标签页的效果:

uniapp制作标签页

<template>
  <view>
    <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>

    <swiper 
      :current="current" 
      @change="swiperChange"
      :duration="300"
    >
      <swiper-item>
        <view>首页内容</view>
      </swiper-item>
      <swiper-item>
        <view>分类内容</view>
      </swiper-item>
      <swiper-item>
        <view>购物车内容</view>
      </swiper-item>
      <swiper-item>
        <view>我的内容</view>
      </swiper-item>
    </swiper>
  </view>
</template>

<script>
export default {
  data() {
    return {
      current: 0,
      tabs: [
        {title: '首页'},
        {title: '分类'},
        {title: '购物车'},
        {title: '我的'}
      ]
    }
  },
  methods: {
    switchTab(index) {
      this.current = index
    },
    swiperChange(e) {
      this.current = e.detail.current
    }
  }
}
</script>

以上方法可以根据项目需求选择使用,内置组件简单快捷,自定义方式灵活自由,第三方组件库功能丰富,swiper方式则能提供更好的用户体验。

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

相关文章

uniapp隐藏右侧滚动条

uniapp隐藏右侧滚动条

隐藏右侧滚动条的方法 在UniApp中隐藏右侧滚动条可以通过CSS样式实现,适用于H5、小程序等平台。以下是几种常见的方法: 全局样式设置 在App.vue的全局样式中添加以下CSS代码,适用于所有…

精通uniapp

精通uniapp

掌握UniApp的基础知识 UniApp是一个基于Vue.js的跨平台开发框架,支持一次开发多端部署(如H5、小程序、App等)。核心概念包括Vue语法、组件化开发、条件编译(针对不同平台适配)以及U…

uniapp 用法

uniapp 用法

uniapp 基本概念 uniapp 是一个基于 Vue.js 的跨平台开发框架,支持编译到 iOS、Android、H5 及小程序等多端。其核心特点是“一次开发,多端发布”,通过条件编译实现平台差异…

jquery获取标签

jquery获取标签

jQuery获取标签的方法 jQuery提供了多种选择器和方法来获取HTML标签元素,以下是一些常见的方式: 通过标签名选择元素 使用标签名直接选择元素,例如选择所有<div>标签:…

uniapp 审批流程

uniapp 审批流程

uniapp 审批流程实现方法 在uniapp中实现审批流程,通常需要结合前端页面设计和后端逻辑处理。以下是常见的实现方案: 页面设计与组件开发 审批流程通常需要展示流程图、审批记录和操作按钮。可以…

uniapp 滑动条

uniapp 滑动条

uniapp 滑动条实现方法 在uniapp中实现滑动条可以通过内置组件或第三方插件完成。以下是几种常见方法: 使用slider组件 uniapp内置了slider组件,可直接实现基础滑动条…