🔔 Alert..!! Get 2 Month Free Cloud Hosting With $200 Bonus From Digital Ocean ACTIVATE DEAL

A Vuejs 2 plugin used to create a basic tabs component for your web app.

Other

Documentation

vt-tabs

基于vue2 封装的 tabs组件, 提供了选项卡的基本的功能。

Install

npm i -D vt-tabs  import { Tabs, TabsItem } from 'vt-tabs'  // global install Vue.component('Tabs', Tabs) Vue.component('TabsItem', TabsItem)  // scope install    export default {   components: {     Tabs,     TabsItem   } } 

**备注: ** TabsItem 只能被 Tabs 包裹

Usage

<template>   <Tabs closable @tab-remove="tabRemove" @tab-add="tabAdd" @tab-click="tabClick"  v-model="idx">     <TabItem v-for="(tab, index) in tabs">         <span class="tabs-title" slot="title">{{ tab.name }}</span>         <p>{{ tab.content }}</p>     </TabItem>   </Tabs> </template> <script>   import { Tabs, TabItem } from 'vt-tabs'   export default {     components: {       Tabs,       TabItem     },     data(){       return {         idx: 0,         tabs: [           {             disabled: true,             name: 'tabs one',             content: 'hello tabs one'           },           {             name: 'tabs two',             content: 'hello tabs two'           },           {             name: 'tabs three',             content: 'hello tabs three'           }         ]       }     },     mounted(){       console.log('mounted',this.tabs)     },     methods: {       tabRemove(index){         this.tabs.splice(index, 1)         if(this.tabs.length){           this.idx = index - 1 < 0 ? this.tabs.length - 1 : index - 1         }       },       tabClick(index){         this.idx = index       }     }   } </script>  

Tabs interface

props:   closable:     type: Boolean     default: false     description: 按钮的类型,可选值: ``primary``,``success``,``loading``,``warning``,``info``,``danger``   value:     type: Number, String     default: '0'     description: v-model使用,激活哪个tab slots:   default:     description: TabItem, 选项卡的子项 events:   tab-click:     description: 点击tab,参数索引   tab-remove:      description: 删除的tab, 参数索引 

TabItem interface

props:   title:      type: String,     description: tab的title, 优先使用slots.title   closable:      type: Boolean,     description: tab关闭选项,优先使用自身的closable, 否则使用 父组件的closable   disabled:      type: Boolean,     description: 禁用tab, 禁用后不可删除,不可点击 slots:   default:     description: tab对应的内容   title:     description: tab的标题,优先级大于props.title 

You May Also Like