vue 实现多个tab切换显隐

Posted fanggeque

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue 实现多个tab切换显隐相关的知识,希望对你有一定的参考价值。

技术图片

 

 技术图片

 

 

 

实现效果如上图:实现tab切换显隐

 

 1 <template>
 2   <div id="app">
 3     <ul>
 4       <li v-for="(tab,index) in tabs" @click="toggle(index,tab.view)" :class="{active:active==index}">
 5         {{tab.type}}
 6       </li>
 7     </ul>
 8     <!--:is实现多个组件实现同一个挂载点-->
 9     <component :is="currentView"></component>
10   </div>
11 </template>
12 
13 <script>
14   import tab1 from ‘./components/tabs/tab1.vue‘
15   import tab2 from ‘./components/tabs/tab2.vue‘
16   export default {
17     name: ‘app‘,
18     data(){
19       return {
20         active:0,
21         currentView:‘tab1‘,
22         tabs:[
23           {
24             type:‘tab1‘,
25             view:‘tab1‘
26           },
27           {
28             type:‘tab2‘,
29             view:‘tab2‘
30           }
31         ]
32       }
33     },
34     methods:{
35       toggle(i,v){
36         this.active=i;
37         this.currentView=v;
38       }
39     },
40     components:{
41       tab1,
42       tab2
43     }
44   }
45 </script>
46 
47 <style>
48   #app {
49     font-family: ‘Avenir‘, Helvetica, Arial, sans-serif;
50     -webkit-font-smoothing: antialiased;
51     -moz-osx-font-smoothing: grayscale;
52     /* text-align: center;
53     color: #2c3e50;
54     margin-top: 60px; */
55   }
56   ul{
57     width:200px;
58     display:flex;
59   }
60   ul li{
61     width:100px;
62     height:40px;
63     background: #ccc;
64     display: inline-flex;
65     border-right:1px solid #ddd;
66     justify-content: center;
67     align-items: center;
68     cursor:pointer
69   }
70   ul li.active{
71     background:#333;
72   }
73 </style>

 

以上是关于vue 实现多个tab切换显隐的主要内容,如果未能解决你的问题,请参考以下文章

Vue.js实现tab切换效果

Android选项卡片段不调用OnCreateView从tab2切换到tab1

vue实现tab吸顶,滚动时动态切换tab

元素显隐切换过渡效果的实现

Vue框架tab切换高亮最简易方法

vue-tab切换