导读:本期聚焦于小伙伴创作的《Vue/UniApp中如何制作圆角选项卡,且选中状态颜色与未选中状态颜色不同?》,敬请观看详情,探索知识的价值。以下视频、文章将为您系统阐述其核心内容与价值。如果您觉得《Vue/UniApp中如何制作圆角选项卡,且选中状态颜色与未选中状态颜色不同?》有用,将其分享出去将是对创作者最好的鼓励。

在Vue或UniApp开发中,圆角选项卡可以用来做分类切换、标签页导航等。要让选项卡带圆角,并且选中和未选中显示不同颜色,关键是使用动态class绑定和状态变量控制。下面通过一个简单示例说明具体做法。

Vue/UniApp中如何制作圆角选项卡,且选中状态颜色与未选中状态颜色不同?

实现思路

我们用一个数组保存选项卡数据,用一个变量记录当前选中的索引。在模板中通过v-for循环渲染每一个选项,根据是否选中动态添加不同的样式类,圆角通过CSS的border-radius设置,颜色差异通过不同类的背景和文字颜色实现。

示例代码

Vue单文件组件写法

以下代码可在普通Vue项目中使用,如果是UniApp,把样式中的px换成rpx即可。

<template>
  <div class="tab-wrap">
    <div
      v-for="(item, index) in tabs"
      :key="index"
      :class="['tab-item', activeIndex === index ? 'active' : '']"
      @click="activeIndex = index">
      {{ item }}
    </div>
  </div>
</template>

<script>
export default {
  data() {
    return {
      // 选项卡文本
      tabs: ['推荐', '热门', '最新'],
      // 当前选中索引
      activeIndex: 0
    }
  }
}
</script>

<style scoped>
.tab-wrap {
  display: flex;
  gap: 12px;
}
.tab-item {
  padding: 8px 16px;
  border-radius: 20px;
  background: #f0f0f0;
  color: #666;
  font-size: 14px;
}
.tab-item.active {
  background: #007aff;
  color: #fff;
}
</style>

UniApp中的写法

在UniApp里结构类似,只是样式单位推荐用rpx适配不同屏幕。

<template>
  <view class="tab-wrap">
    <view
      v-for="(item, index) in tabs"
      :key="index"
      :class="['tab-item', activeIndex === index ? 'active' : '']"
      @tap="activeIndex = index">
      {{ item }}
    </view>
  </view>
</template>

<script>
export default {
  data() {
    return {
      tabs: ['全部', '待付款', '已完成'],
      activeIndex: 0
    }
  }
}
</script>

<style scoped>
.tab-wrap {
  display: flex;
  flex-direction: row;
}
.tab-item {
  padding: 10rpx 24rpx;
  border-radius: 30rpx;
  background: #eeeeee;
  color: #333333;
  margin-right: 16rpx;
  font-size: 28rpx;
}
.tab-item.active {
  background: #ff5500;
  color: #ffffff;
}
</style>

关键点说明

  • 使用border-radius设置圆角,数值越大圆角越明显。
  • activeIndex变量记录选中项,点击时修改它。
  • 通过对象或数组语法动态切换class,从而改变颜色。
  • UniApp中用@tap代替@click更贴合移动端。

小结

制作圆角选项卡并区分选中与未选中颜色,本质就是状态加样式绑定。掌握上面的模式后,你可以轻松扩展成滑动指示条、动画过渡等更丰富的效果。

VueUniApp圆角选项卡修改时间:2026-07-30 05:27:18

免责声明:​ 已尽一切努力确保本网站所含信息的准确性。网站内容多为原创整理与精心编撰,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。