介绍
el-tab本身的功能是点击之后切换不同页,但是我希望点击不同标签就触发不同页

代码实现
<template>
<el-tabs
v-model="activename"
type="card"
class="demo-tabs"
@tab-click="handleclick"
>
<el-tab-pane label="user" name="user">user</el-tab-pane>
<el-tab-pane label="config" name="config">config</el-tab-pane>
</el-tabs>
</template>
<script>
export default{
data() {
return {
clickedtabs: {//这里是希望函数只被调用一次
'user': false,
'config': false,
},
}
},
methods: {
function1(){console.log('function1 was called')},
function2(){console.log('function2 was called')},
handleclick(tab, event) {
if (!this.clickedtabs[tab.props.name]) {//这里是希望函数只被调用一次
console.log('clicked tab name: ' + tab.props.label);
this.clickedtabs[tab.props.name] = true;//这里是希望函数只被调用一次
// 根据tab的名字执行相应的操作
switch (tab.props.name) {
case "user":
console.log('function1 begin');
this.function1();
break;
case "config":
console.log('function2 begin');
this.function2();
break;
}
}
else {
console.log(tab.props.name + ' tab was already clicked.');
}
},
}
}
</script>handleclick里面通过if来使得点击标签调用函数只被调用一次,如果不需要这个操作可以把相关代码注释掉,只留下switch函数。
到此这篇关于vue中el-tab如何点击不同标签触发不同函数的实现的文章就介绍到这了,更多相关vue el-tab点击标签触发内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论