Tabs 标签页
示例
尺寸
可选的 ui
尺寸属性值:s
/ m
/ l
。
<template>
<article>
<veui-tabs
ui="l"
:active.sync="active"
>
<veui-tab
label="回答问题"
name="answers"
/>
<veui-tab
label="文章评论"
name="articles"
/>
<veui-tab
label="分享朋友圈"
name="shares"
/>
</veui-tabs>
<veui-tabs
:active.sync="active"
>
<veui-tab
label="回答问题"
name="answers"
/>
<veui-tab
label="文章评论"
name="articles"
/>
<veui-tab
label="分享朋友圈"
name="shares"
/>
</veui-tabs>
<veui-tabs
ui="s"
:active.sync="active"
>
<veui-tab
label="回答问题"
name="answers"
/>
<veui-tab
label="文章评论"
name="articles"
/>
<veui-tab
label="分享朋友圈"
name="shares"
status="success"
/>
</veui-tabs>
</article>
</template>
<script>
import { Tabs, Tab } from 'veui'
export default {
components: {
'veui-tabs': Tabs,
'veui-tab': Tab
},
data () {
return {
active: 'answers'
}
}
}
</script>
样式
设置 ui
为 simple
/ strong
来分别启用简单样式、加强样式。
Simple style
Strong style
<template>
<article>
<section>
<h4>Simple style</h4>
<veui-tabs
ui="simple"
:active.sync="active"
>
<veui-tab
label="回答问题"
name="answers"
/>
<veui-tab
label="文章评论"
name="articles"
status="error"
/>
<veui-tab
label="分享朋友圈"
name="shares"
/>
</veui-tabs>
</section>
<section>
<h4>Strong style</h4>
<veui-tabs
ui="strong"
:active.sync="active"
>
<veui-tab
label="回答问题"
name="answers"
status="warning"
/>
<veui-tab
label="文章评论"
name="articles"
/>
<veui-tab
label="分享朋友圈"
name="shares"
/>
</veui-tabs>
</section>
</article>
</template>
<script>
import { Tabs, Tab } from 'veui'
export default {
components: {
'veui-tabs': Tabs,
'veui-tab': Tab
},
data () {
return {
active: 'answers'
}
}
}
</script>
<style lang="less" scoped>
section {
margin-bottom: 20px;
}
h4 {
margin-top: 0;
}
</style>
路由模式
Tab content #1
<template>
<article>
<veui-tabs :active="$route.fullPath">
<veui-tab
label="Tab 1"
to="/components/tabs/tab"
/>
<veui-tab
label="Tab 2"
to="/components/tabs/tab2"
/>
<veui-tab
label="Tab 3 (custom panel slot)"
to="/components/tabs/tab3"
>
<h3>Tab Header</h3>
<router-view/>
<footer>Tab footer</footer>
</veui-tab>
<veui-tab
label="Redirect to Form"
to="/components/form"
/>
<template #panel>
<router-view/>
</template>
</veui-tabs>
</article>
</template>
<script>
import { Tabs, Tab } from 'veui'
export default {
components: {
'veui-tabs': Tabs,
'veui-tab': Tab
},
data () {
return {
active: 'answers',
index: 0
}
}
}
</script>
禁用状态
设置 Tab
组件 disabled
属性来使选项卡处于禁用状态。
<template>
<article>
<veui-tabs :index.sync="index">
<veui-tab label="Tab1">
<p>This is Tab1</p>
</veui-tab>
<veui-tab
label="Tab2"
disabled
>
<p>This is Tab2</p>
</veui-tab>
<veui-tab label="Tab3">
<p>This is Tab3</p>
</veui-tab>
<veui-tab label="Tab4">
<p>This is Tab4</p>
</veui-tab>
</veui-tabs>
<veui-tabs
ui="strong"
:index.sync="index"
>
<veui-tab label="Tab1">
<p>This is Tab1</p>
</veui-tab>
<veui-tab
label="Tab2"
disabled
>
<p>This is Tab2</p>
</veui-tab>
<veui-tab label="Tab3">
<p>This is Tab3</p>
</veui-tab>
<veui-tab label="Tab4">
<p>This is Tab4</p>
</veui-tab>
</veui-tabs>
</article>
</template>
<script>
import { Tabs, Tab } from 'veui'
export default {
components: {
'veui-tabs': Tabs,
'veui-tab': Tab
},
data () {
return {
index: 0
}
}
}
</script>
API
属性
名称 | 类型 | 默认值 | 描述 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ui | string= | - | 预设样式。
| ||||||||||||
active | string | - |
表示当前哪个标签页处于激活状态。具体映射的值受标签的属性影响,优先级 | ||||||||||||
matches | function(Route, Route): boolean | tabs.matches | 用于给内部的 | ||||||||||||
addable | boolean | false | 是否可以增加标签。 | ||||||||||||
max | number | - | 可增加标签的上限值。 | ||||||||||||
tip | string | - | 提示文本。 | ||||||||||||
add-label | string= | - | “添加”按钮的文字内容。 | ||||||||||||
eager | boolean | false | 是否立即渲染所有非当前激活项的标签面板内容(并隐藏)。 |
插槽
名称 | 描述 | ||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
default | 允许直接内联 Tab 组件。无默认内容。 | ||||||||||||||||||||||||||||||||||||
panel | 选项卡下方面板区域。 | ||||||||||||||||||||||||||||||||||||
extra | 位于标签页右侧的扩展区域。 | ||||||||||||||||||||||||||||||||||||
tab-item | 标签选项卡区域,默认内容为选项卡对应的按钮/链接。作用域参数为标签属性描述对象。
| ||||||||||||||||||||||||||||||||||||
tab-label | 标签选项卡文本区域,默认内容为选项卡文本。作用域参数同 tab-item 插槽,attrs / activate 除外。 |
事件
名称 | 描述 |
---|---|
change | 切换时触发。回调参数为 (tab: Object) ,tab 与 tab-label 插槽中的作用域参数一致。 |
add | 点击添加按钮触发的事件,无回调参数。 |
remove | 删除标签时触发的事件。回调参数为 (tab: Object) ,tab 与 tab-label 插槽中的作用域参数一致。 |
全局配置
名称 | 类型 | 默认值 | 描述 |
---|---|---|---|
tabs.matches | function | 见描述。 |
|
图标
名称 | 描述 |
---|---|
add | 添加按钮。 |
remove | 清除按钮。 |
prev | 往左翻页按钮。 |
next | 往右翻页按钮。 |
success | 成功状态。 |
warning | 警示状态。 |
info | 普通信息状态。 |
error | 错误状态。 |