vue使用elementui生成的tab栏,点击切换activeName,如何通过activeName的值来切换不同的接口?
时间: 2024-06-09 20:08:34 浏览: 80
可以在`<el-tab-pane>`标签中使用`v-if`或`v-show`指令来决定该标签内的内容是否展示。通过在`<el-tabs>`标签上监听`tab-click`事件,获取当前激活的`tab`的`name`,然后根据`name`的值来设置对应的接口地址。
例如,假设有三个`tab`,分别对应三个不同的接口地址,可以这样实现:
```vue
<template>
<div>
<el-tabs v-model="activeName" @tab-click="handleTabClick">
<el-tab-pane label="Tab1" name="tab1">
<div v-if="activeName === 'tab1'">
// tab1 对应的接口内容
</div>
</el-tab-pane>
<el-tab-pane label="Tab2" name="tab2">
<div v-if="activeName === 'tab2'">
// tab2 对应的接口内容
</div>
</el-tab-pane>
<el-tab-pane label="Tab3" name="tab3">
<div v-if="activeName === 'tab3'">
// tab3 对应的接口内容
</div>
</el-tab-pane>
</el-tabs>
</div>
</template>
<script>
export default {
data() {
return {
activeName: 'tab1', // 初始激活的 tab name
};
},
methods: {
handleTabClick(tab) {
// 当前激活的 tab name
const name = tab.name;
switch (name) {
case 'tab1':
// 设置对应的接口地址
this.api = 'http://api.xxx.com/tab1';
break;
case 'tab2':
this.api = 'http://api.xxx.com/tab2';
break;
case 'tab3':
this.api = 'http://api.xxx.com/tab3';
break;
default:
break;
}
},
},
};
</script>
```
这样就可以通过`activeName`的值来切换不同的接口了。
阅读全文