Vue2实现tab切换

Vue2实现tab切换

以下代码实现了一个tab切换的功能,点击不同的tab会切换到对应的内容,并且选中的tab文字带下划线,下划线宽度比文字宽度短,并且与文字居中。

html 复制代码
<template>
  <div>
    <div class="tabs">
      <div 
        v-for="(tab, index) in tabs" 
        :key="index" 
        class="tab" 
        :class="{ 'active': activeTab === index }"
        @click="activeTab = index"
      >
        {{ tab }}
        <div class="underline" v-if="activeTab === index"></div>
      </div>
    </div>
  </div>
</template>

<script>
export default {
  data() {
    return {
      tabs: ['Tab 1', 'Tab 2', 'Tab 3'],
      activeTab: 0
    }
  }
}
</script>

<style>
.tabs {
  display: flex;
  justify-content: space-around;
}

.tab {
  position: relative;
  padding: 10px;
  cursor: pointer;
}

.underline {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 80%;
  height: 2px;
  background-color: black;
}

.active {
  font-weight: bold;
}

.active .underline {
  display: block;
}
</style>
相关推荐
sulikey6 分钟前
Qt 入门简洁笔记:信号与槽
前端·c++·笔记·qt·前端框架·1024程序员节·qt框架
Zyx20079 分钟前
从零学 JavaScript:彻底搞懂 var、let、const(上篇)——告别变量提升的坑
javascript
俩毛豆12 分钟前
【图片】【编缉】图片增加水印(通过组件的Overlay方法增加水印)
前端·harmonyos
gustt13 分钟前
JS 变量那些坑:从 var 到 let/const 的终极解密
前端·javascript
出师未捷的小白13 分钟前
[NestJS] 手摸手~工作队列模式的邮件模块解析以及grpc调用
前端·后端
十年_H15 分钟前
Cesium自定义着色器-模式
javascript·cesium
shuaijie051824 分钟前
表格单元格输入框转换-其一
javascript·elementui
Z_B_L28 分钟前
问题记录--elementui中el-form初始化表单resetFields()方法使用时出现的问题
前端·javascript·vue.js·elementui·1024程序员节
袁煦丞32 分钟前
PandaWiki开源知识库系统破解内网限制:cpolar内网穿透实验室第616个成功挑战
前端·程序员·远程工作
golang学习记32 分钟前
Next.js MCP Server 实战指南:让 AI 编程助手真正“懂”你的应用
前端