Vue2实现tab切换
以下代码实现了一个tab切换的功能,点击不同的tab会切换到对应的内容,并且选中的tab文字带下划线,下划线宽度比文字宽度短,并且与文字居中。
<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>
原文链接:https://juejin.cn/post/7341340317659365385 作者:前端fighter