Tabs 标签页

Tabs 标签页

概述

选项卡切换组件,常用于平级区域大块内容的的收纳和展现。

代码示例

<template> <Tabs value="name1"> <TabPane label="标签一" name="name1">标签一的内容</TabPane> <TabPane label="标签二" name="name2">标签二的内容</TabPane> <TabPane label="标签三" name="name3">标签三的内容</TabPane> </Tabs> </template> <script> export default { } </script>

<template> <Tabs> <TabPane label="标签一">标签一的内容</TabPane> <TabPane label="标签二" disabled>标签二的内容</TabPane> <TabPane label="标签三">标签三的内容</TabPane> </Tabs> </template> <script> export default { } </script>

<template> <Tabs> <TabPane label="macOS" icon="logo-apple">标签一的内容</TabPane> <TabPane label="Windows" icon="logo-windows">标签二的内容</TabPane> <TabPane label="Linux" icon="logo-tux">标签三的内容</TabPane> </Tabs> </template> <script> export default { } </script>

<template> <Tabs size="small"> <TabPane label="标签一">标签一的内容</TabPane> <TabPane label="标签二">标签二的内容</TabPane> <TabPane label="标签三">标签三的内容</TabPane> </Tabs> </template> <script> export default { } </script>

<template> <Tabs type="card"> <TabPane label="标签一">标签一的内容</TabPane> <TabPane label="标签二">标签二的内容</TabPane> <TabPane label="标签三">标签三的内容</TabPane> </Tabs> </template> <script> export default { } </script>

<template> <Tabs type="card" closable @on-tab-remove="handleTabRemove"> <TabPane label="标签一" v-if="tab0">标签一的内容</TabPane> <TabPane label="标签二" v-if="tab1">标签二的内容</TabPane> <TabPane label="标签三" v-if="tab2">标签三的内容</TabPane> </Tabs> </template> <script> export default { data () { return { tab0: true, tab1: true, tab2: true } }, methods: { handleTabRemove (name) { this['tab' + name] = false; } } } </script>

<template> <Tabs value="name1"> <TabPane :label="label" name="name1">标签一的内容</TabPane> <TabPane label="标签二" name="name2">标签二的内容</TabPane> <TabPane label="标签三" name="name3">标签三的内容</TabPane> </Tabs> </template> <script> export default { data () { return { label: (h) => { return h('div', [ h('span', '标签一'), h('Badge', { props: { count: 3 } }) ]) } } } } </script>

<template> <Tabs type="card"> <TabPane v-for="tab in tabs" :key="tab" :label="'标签' + tab">标签{{ tab }}</TabPane> <Button @click="handleTabsAdd" size="small" slot="extra">增加</Button> </Tabs> </template> <script> export default { data () { return { tabs: 2 } }, methods: { handleTabsAdd () { this.tabs ++; } } } </script>

<template> <Tabs :animated="false"> <TabPane label="标签一">标签一的内容</TabPane> <TabPane label="标签二">标签二的内容</TabPane> <TabPane label="标签三">标签三的内容</TabPane> </Tabs> </template> <script> export default { } </script>

<style> .demo-tabs-style1 > .ivu-tabs-card > .ivu-tabs-content { height: 120px; margin-top: -16px; } .demo-tabs-style1 > .ivu-tabs-card > .ivu-tabs-content > .ivu-tabs-tabpane { background: #fff; padding: 16px; } .demo-tabs-style1 > .ivu-tabs.ivu-tabs-card > .ivu-tabs-bar .ivu-tabs-tab { border-color: transparent; } .demo-tabs-style1 > .ivu-tabs-card > .ivu-tabs-bar .ivu-tabs-tab-active { border-color: #fff; } .demo-tabs-style2 > .ivu-tabs.ivu-tabs-card > .ivu-tabs-bar .ivu-tabs-tab{ border-radius: 0; background: #fff; } .demo-tabs-style2 > .ivu-tabs.ivu-tabs-card > .ivu-tabs-bar .ivu-tabs-tab-active{ border-top: 1px solid #3399ff; } .demo-tabs-style2 > .ivu-tabs.ivu-tabs-card > .ivu-tabs-bar .ivu-tabs-tab-active:before{ content: ''; display: block; width: 100%; height: 1px; background: #3399ff; position: absolute; top: 0; left: 0; } </style> <template> <Row :gutter="32"> <Col span="12" class="demo-tabs-style1" style="background: #e3e8ee;padding:16px;"> <Tabs type="card"> <TabPane label="标签一">标签一的内容</TabPane> <TabPane label="标签二">标签二的内容</TabPane> <TabPane label="标签三">标签三的内容</TabPane> </Tabs> </Col> <Col span="12" class="demo-tabs-style2"> <Tabs type="card"> <TabPane label="标签一">标签一的内容</TabPane> <TabPane label="标签二">标签二的内容</TabPane> <TabPane label="标签三">标签三的内容</TabPane> </Tabs> </Col> </Row> </template> <script> export default { } </script>

API

Tabs props

属性说明类型默认值
value当前激活 tab 面板的 name,可以使用 v-model 双向绑定数据String默认为第一项的 name
type页签的基本样式,可选值为 line 和 cardStringline
size尺寸,可选值为 default 和 small,仅在 type="line" 时有效Stringdefault
closable是否可以关闭页签,仅在 type="card" 时有效Booleanfalse
animated是否使用 CSS3 动画Booleantrue
capture-focusTabs 内的表单类组件是否自动获得焦点Booleanfalse
before-remove关闭前的函数,返回 Promise 可阻止标签关闭Function-

Tabs events

事件名说明返回值
on-clicktab 被点击时触发name
on-tab-removetab 被关闭时触发name

Tabs slot

名称说明
extra附加内容

TabPane props

属性说明类型默认值
name用于标识当前面板,对应 value,默认为其索引值String-
label选项卡头显示文字,支持 Render 函数。 学习 Render 函数的内容String | Function
icon选项卡图标String-
disabled是否禁用该选项卡Booleanfalse
closable是否可以关闭页签,仅在 type="card" 时有效Booleannull