代码没几句,直接上个完成的例子:
<template>
<div class=\"animated fadeIn\">
<el-card class=\"box-card\">
<p v-for=\"(nav, index) in navs\" :key=\"index\">
<el-button type=\"info\" @click=\"change(index)\">{{\"切换-\"+nav.label}}</el-button>
</p>
</el-card>
<el-tabs v-model=\"activeName\" @tab-click=\"handleClick\">
<el-tab-pane v-for=\"(tab, index) in tabs\" :key=\"index\" :label=\"tab.label\" :name=\"tab.name\">{{tab.label}}</el-tab-pane>
</el-tabs>
</div>
</template>
< >
export default {
mounted() {
console.log(\"hello\");
},
computed: {},
data() {
return {
activeName: \"first\",
tabs: [
],
navs: [
{
label: \"用户管理\",
name: \"first\"
},
{
label: \"配置管理\",
name: \"second\"
},
{
label: \"角色管理\",
name: \"third\"
},
{
label: \"定时任务补偿\",
name: \"fourth\"
}
]
};
},
methods: {
handleClick(tab, event) {
console.log(tab, event);
},
change(index) {
var currData = this.navs[index];
for (let x = 0; x < this.tabs.length; x++) {
const tab = this.tabs[x];
if(tab.name == currData.name){
this.activeName = tab.name;
return;
}else{
console.log(\"重复了~\");
}
}
this.tabs.push(currData);
this.activeName = this.tabs[this.tabs.length-1].name;
}
}
};
</ >
<style type=\"text/css\">
.card-block-welcome img {
width: 100%;
border: 1rem solid #fff;
padding: 0 !important;
}
.welcome_bg {
background-color: #fff;
}
</style>
如果使用自己的tabs组件,替换下el-tabs就可以了~
继续阅读与本文标签相同的文章
-
高危预警|RDP漏洞或引发大规模蠕虫爆发,用户可用阿里云免费检测服务自检,建议尽快修复
2026-05-18栏目: 教程
-
云上一指禅:大数据产品DataWorks每日问答
2026-05-18栏目: 教程
-
云数据库RDS是什么?
2026-05-18栏目: 教程
-
2019智能安防工程师大会在杭州成功召开
2026-05-18栏目: 教程
-
2018年中国专利申请154万件 超过日美 占全球近半
2026-05-18栏目: 教程
