vue中el-tab如何点击不同标签触发不同函数的实现

 更新时间:2024年03月28日 09:14:15   作者:聪明小萝卜  
el-tab本身的功能是点击之后切换不同页,本文主要介绍了vue中el-tab如何点击不同标签触发不同函数的实现,具有一定的参考价值,感兴趣的可以了解一下
(福利推荐:【腾讯云】服务器最新限时优惠活动,云服务器1核2G仅99元/年、2核4G仅768元/3年,立即抢购>>>:9i0i.cn/qcloud

(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

介绍

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点击标签触发内容请搜索程序员之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持程序员之家!

相关文章

  • vue的生命周期钩子与父子组件的生命周期详解

    vue的生命周期钩子与父子组件的生命周期详解

    Vue的生命周期就是vue实例从创建到销毁的全过程,也就是new Vue() 开始就是vue生命周期的开始。Vue 实例有?个完整的?命周期,也就是从开始创建、初始化数据、编译模版、挂载Dom -> 渲染、更新 -> 渲染、卸载 等?系列过程,称这是Vue的?命周期
    2022-08-08
  • Luckysheet?在vue中离线使用及引入报错的解决方案(推荐)

    Luckysheet?在vue中离线使用及引入报错的解决方案(推荐)

    这篇文章主要介绍了Luckysheet?在vue中离线使用方法及引入报错的解决方案,将dist离线包在项目创建个文件夹放着,然后根据放置的位置在?index.html里面引入,下面通过案例给大家介绍我的项目里面放置的位置,需要的朋友可以参考下
    2022-10-10
  • Vue内容分发slot(全面解析)

    Vue内容分发slot(全面解析)

    下面小编就为大家带来一篇Vue内容分发slot(全面解析)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • 从零实现一个vue文件解析器

    从零实现一个vue文件解析器

    本文就讨论下怎么实现一个处理.vue文件的loader,以及用loader处理完.vue文件怎么把内容渲染在浏览器上并实现简单的响应式,对vue文件解析器相关知识感兴趣的朋友一起看看吧
    2022-06-06
  • vue filter 完美时间日期格式的代码

    vue filter 完美时间日期格式的代码

    这篇文章主要介绍了vue filter 完美时间日期格式的方法,文中给大家提到了vue filter方法-时间格式化 的代码,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧
    2019-08-08
  • vue router 配置路由的方法

    vue router 配置路由的方法

    这篇文章主要介绍了vue router 配置路由的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07
  • Vue如何实现验证码输入交互

    Vue如何实现验证码输入交互

    这篇文章主要介绍了Vue实现验证码输入交互的示例,帮助大家更好的理解和使用vue,感兴趣的朋友可以了解下
    2020-12-12
  • Vue实现Google第三方登录的示例代码

    Vue实现Google第三方登录的示例代码

    本文记录作者在vue项目中使用到Google第三方登录,查询到的资料文档也不详细,故此把自己所遇到的坑及问题详细的记录下来。
    2021-07-07
  • 如何删除vue项目下的node_modules文件夹

    如何删除vue项目下的node_modules文件夹

    这篇文章主要介绍了如何删除vue项目下的node_modules文件夹,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09
  • Vue中父组件向子组件传递数据的几种方法

    Vue中父组件向子组件传递数据的几种方法

    最近在学习vue的源码,总结了几种vue中父子组件传递数据的方法。具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-05-05

最新评论

?


http://www.vxiaotou.com