返回顶部
首页 > 资讯 > 精选 >vue如何实现选项卡组件
  • 623
分享到

vue如何实现选项卡组件

2023-06-29 07:06:39 623人浏览 安东尼
摘要

这篇文章主要为大家展示了“Vue如何实现选项卡组件”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue如何实现选项卡组件”这篇文章吧。具体内容如下主要功能:点击不同的选项,显示不同的内容html

这篇文章主要为大家展示了“Vue如何实现选项卡组件”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue如何实现选项卡组件”这篇文章吧。

具体内容如下

主要功能:点击不同的选项,显示不同的内容

html

<!DOCTYPE html><html>    <head>        <meta charset="UTF-8">        <title></title>        <link rel="stylesheet" type="text/CSS" href="css/style.css" />        <script src="js/Jquery.js" type="text/javascript" charset="utf-8"></script>        <script src="js/vue.js" type="text/javascript" charset="utf-8"></script>        <script type="text/javascript">            $(document).ready(function(){                var app=new Vue({                    el: "#app",                    data: {                        activeKey: '1'//被选择的选项                    }                });            });        </script>    </head>    <body>        <div id="app" v-cloak>            <tabs v-model="activeKey">                <pane label="一" name="1">我是张三</pane>                <pane label="二" name="2">我是李四</pane>                <pane label="三" name="3">我是牛五</pane>            </tabs>        </div>        <script src="js/pane.js" type="text/javascript" charset="utf-8"></script>        <script src="js/tabs.js" type="text/javascript" charset="utf-8"></script>    </body></html>

pane.js

Vue.component('pane',{    name: 'pane',    template: '\        <div class="pane" v-show="show"> \            <slot></slot> \        </div>',    data: function(){        return {            show: true        }    },    props: {        name: {            type: String        },        label: {            type: String,            default: ''        }    },    methods: {        updateNav()    {            this.$parent.updateNav();        }    },    watch: {        label(){            this.updateNav();        }    },    mounted() {        this.updateNav();    }})

tabs.js

Vue.component('tabs',{    template: '\        <div class="tabs">\            <div class="tabs-bar">\                <div \                    :class="tabCls(item)" \                    v-for="(item,index) in navList" \                    @click="handleChange(index)"> \                    {{item.label}} \                </div>\            </div> \            <div class="tabs-content"> \                <slot></slot> \            </div> \        </div>',    props: {        value: {            type: [String,Number]        }    },    data: function(){        return {            currentValue: this.value,            navList: []        }    },    methods: {        tabCls: function(item){            return [                'tabs-tab',                {                    'tabs-tab-active': item.name===this.currentValue                }            ]        },        //遍历所有为pane的子元素        getTabs(){            return this.$children.filter(function(item){                return item.$options.name==='pane';            });        },        //将pane子元素中label name放进navList数组        updateNav() {            this.navList=[];            var _this=this;            this.getTabs().forEach(function(pane,index){                _this.navList.push({                    label: pane.label,                    name: pane.name ||index                });                if(!pane.name) pane.name=index;                if(index===0){                    if(!_this.currentValue){                        _this.currentValue=pane.name || index;                    }                }            });            this.updateStatus();        },        updateStatus(){            var tabs=this.getTabs();            var _this=this;            //显示当前正在选中的            tabs.forEach(function(tab){                return tab.show=tab.name===_this.currentValue;            })        },        handleChange: function(index){            var nav =this.navList[index];            var name=nav.name;            this.currentValue=name;            this.$emit('input',name);            this.$emit('on-click',name);        }    },    watch: {        value: function(val){            this.currentValue=val;        },        currentValue: function (){            this.updateStatus();        }    }    })

以上是“vue如何实现选项卡组件”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网精选频道!

--结束END--

本文标题: vue如何实现选项卡组件

本文链接: https://lsjlt.com/news/323702.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • vue如何实现选项卡组件
    这篇文章主要为大家展示了“vue如何实现选项卡组件”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue如何实现选项卡组件”这篇文章吧。具体内容如下主要功能:点击不同的选项,显示不同的内容html...
    99+
    2023-06-29
  • vue选项卡组件的实现方法
    本文实例为大家分享了vue选项卡组件的实现代码,供大家参考,具体内容如下 主要功能:点击不同的选项,显示不同的内容 html <!DOCTYPE html> <ht...
    99+
    2024-04-02
  • vue如何实现选项卡
    这篇文章主要为大家展示了“vue如何实现选项卡”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue如何实现选项卡”这篇文章吧。具体内容如下实现步骤实现静态UI效果用传统的方式实现标签结构和样式基...
    99+
    2023-06-29
  • xmlplus中如何实现选项卡组件
    这篇文章主要介绍了xmlplus中如何实现选项卡组件,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。示意图:选项卡组成在具体实现之前,想像一下...
    99+
    2024-04-02
  • vue动态组件如何实现选项卡切换效果
    这篇文章主要介绍了vue动态组件如何实现选项卡切换效果,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。具体内容如下导航按钮:<div&n...
    99+
    2024-04-02
  • vue选项卡Tabs组件实现示例详解
    目录概述效果图实现过程组件分析所需的前置知识项目组件文件夹Tabs.vueTabPane.vuerender.jsindex.js使用总结概述 前端项目中,多数页面涉及到选项卡切换,...
    99+
    2022-11-13
    vue选项卡Tabs组件 vue Tabs
  • vue中如何使用动态组件实现选项卡切换效果
    这篇文章主要为大家展示了“vue中如何使用动态组件实现选项卡切换效果”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue中如何使用动态组件实现选项卡切换效果”这...
    99+
    2024-04-02
  • Vue如何实现简单选项卡功能
    这篇文章将为大家详细讲解有关Vue如何实现简单选项卡功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体内容如下vue-tab-demoApp.vue<template> &nbs...
    99+
    2023-06-29
  • vue如何实现简易选项卡功能
    这篇文章主要讲解了“vue如何实现简易选项卡功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue如何实现简易选项卡功能”吧!1. 效果: 实现发布评论功能 实现评论列表的展示 使用标签页...
    99+
    2023-07-02
  • vue实现选项卡功能
    本文实例为大家分享了vue实现选项卡功能的具体代码,供大家参考,具体内容如下 原理分析和实现 这个很简单,无非就是一个点击切换显示而已。但是大家也要实现。如果这个看明白了,再看下面...
    99+
    2024-04-02
  • vue实现选项卡案例
    本文实例为大家分享了vue实现选项卡案例的具体代码,供大家参考,具体内容如下 实现步骤 实现静态UI效果 用传统的方式实现标签结构和样式 基于数据重构UI效果 将静态的结构和样式重...
    99+
    2024-04-02
  • vue怎么实现选项卡
    本篇内容介绍了“vue怎么实现选项卡”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!代码如下<!DOCTYPE html>...
    99+
    2023-06-29
  • 怎么用vue动态组件实现选项卡切换效果
    这篇文章主要讲解了“怎么用vue动态组件实现选项卡切换效果”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用vue动态组件实现选项卡切换效果”吧!导航按钮:<div cla...
    99+
    2023-07-04
  • Bootstrap中如何导航组件和选项卡组件
    本篇内容介绍了“Bootstrap中如何导航组件和选项卡组件”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!...
    99+
    2024-04-02
  • Vue实现Tab选项卡切换
    本文实例为大家分享了Vue实现Tab选项卡切换的具体代码,供大家参考,具体内容如下 点击不同的标题显示出相应的图片 代码如下 <!DOCTYPE html> <...
    99+
    2024-04-02
  • vue+elementui实现选项卡功能
    本文实例为大家分享了vue+elementui实现选项卡功的具体代码,供大家参考,具体内容如下 用法: 首先自己先在项目中定义三个组件(顶部TopNav,左侧LeftAside,中间...
    99+
    2024-04-02
  • vue实现选项卡小案例
    本文实例为大家分享了vue实现选项卡小案例的具体代码,供大家参考,具体内容如下 <!DOCTYPE html> <html lang="en">   <...
    99+
    2024-04-02
  • vue选项卡如何切换
    今天小编给大家分享一下vue选项卡如何切换的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。在Vue.js中,使用选项卡切换可以...
    99+
    2023-07-05
  • vue如何实现选项卡切换登录方式
    这篇文章主要为大家展示了“vue如何实现选项卡切换登录方式”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue如何实现选项卡切换登录方式”这篇文章吧。最终效果组...
    99+
    2024-04-02
  • vue怎么使用动态组件实现选项卡切换效果
    本文小编为大家详细介绍“vue怎么使用动态组件实现选项卡切换效果”,内容详细,步骤清晰,细节处理妥当,希望这篇“vue怎么使用动态组件实现选项卡切换效果”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。导航按钮:&l...
    99+
    2023-07-04
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作