简述
标签页请求,切换进去会请求该页的数据
如果页面一加载就请求出所有的数据,会造成数据堵塞,对性能有很大的影响
所以要在tabs标签页点击切换 的时候发起相应的网络请求,用到的是tab-click事件。
示例图
需求
1.渲染出页面时默认显示第一页
2.切换tab时,加载此页数据
示例
<template>
<el-tabs v-model="activeName" type="card" @tab-click="handleClick">
<el-tab-pane label="用户管理" name="first">用户管理</el-tab-pane>
<el-tab-pane label="配置管理" name="second">配置管理</el-tab-pane>
<el-tab-pane label="角色管理" name="third">角色管理</el-tab-pane>
<el-tab-pane label="定时任务补偿" name="fourth">定时任务补偿</el-tab-pane>
</el-tabs>
</template>
<script>
export default {
data() {
return {
activeName: 'first' //默认显示第一页
};
},
methods: {
handleClick(tab, event) {
console.log(tab, event);
}
}
};
</script>
说明
tab-click标签事件:tab 被选中时触发,他的返回值是被选中的标签 tab 实例
tab 和 event两个参数打印一下显示如下:
tab 的参数里有个 index 值,可以作为标签页切换的索引
tab 的参数里有个label,也可以作为切换标签的判断条件
也可以使用activeName。
实例
通过上述明确事件,参数后,修改如下进行实例操作
// tabs标签页切换事件
handleClick(tab, event) {
console.log(tab, event);
if (tab.index == 0) {
//网络请求1
} else if (tab.index == 1) {
//网络请求2
} else {
//网络请求3
}
}