Tabs
Base tab menus.
Usage
Basic Usage
Home page content
vue
<template>
<p-tabs>
<p-tab title="Home">Home page content</p-tab>
<p-tab title="Profile">Profile page content</p-tab>
<p-tab title="Setting" disabled>Setting page content</p-tab>
</p-tabs>
</template>Variants
Navigation of tabs has 3 variants, tabs, pills and lines. Default is pills
Home page content
Home page content
Home page content
vue
<template>
<p-tabs variant="tabs">
<p-tab title="Home">Home page content</p-tab>
<p-tab title="Profile">Profile page content</p-tab>
<p-tab title="Setting" disabled>Setting page content</p-tab>
</p-tabs>
<p-tabs variant="pills">
<p-tab title="Home">Home page content</p-tab>
<p-tab title="Profile">Profile page content</p-tab>
<p-tab title="Setting" disabled>Setting page content</p-tab>
</p-tabs>
<p-tabs variant="lines">
<p-tab title="Home">Home page content</p-tab>
<p-tab title="Profile">Profile page content</p-tab>
<p-tab title="Setting" disabled>Setting page content</p-tab>
</p-tabs>
</template>Fill & Justify
Tabs can be fullwidth. There are 2 options available: fill and justified. To proportionately fill all available space, choose fill. When need every nav item will be the same width, choose justified.
Home page content
Home page content
vue
<template>
<p-tabs fill>
<p-tab title="Home">Home page content</p-tab>
<p-tab title="Profile">Profile page content</p-tab>
<p-tab title="Setting" disabled>Setting page content</p-tab>
</p-tabs>
<p-tabs justified>
<p-tab title="Home">Home page content</p-tab>
<p-tab title="Profile">Profile page content</p-tab>
<p-tab title="Setting" disabled>Setting page content</p-tab>
</p-tabs>
</template>Alignment
To align Tabs, use align prop. Available value are left, right and center. The center align just working in horizontal Tabs.
Home page content
Home page content
Home page content
vue
<template>
<p-tabs align="left">
<p-tab title="Home">Home page content</p-tab>
<p-tab title="Profile">Profile page content</p-tab>
<p-tab title="Setting" disabled>Setting page content</p-tab>
</p-tabs>
<p-tabs align="center">
<p-tab title="Home">Home page content</p-tab>
<p-tab title="Profile">Profile page content</p-tab>
<p-tab title="Setting" disabled>Setting page content</p-tab>
</p-tabs>
<p-tabs align="right">
<p-tab title="Home">Home page content</p-tab>
<p-tab title="Profile">Profile page content</p-tab>
<p-tab title="Setting" disabled>Setting page content</p-tab>
</p-tabs>
</template>With Icon & Badge
Icon
But I must explain to you how all this mistaken idea of denouncing pleasure and praising pain was born
vue
<template>
<p-tabs>
<p-tab>
<template #icon>
<IconEdit />
</template>
But I must explain to you how all this mistaken idea of
denouncing pleasure and praising pain was born
</p-tab>
<p-tab>
<template #icon>
<IconView />
</template>
A wonderful serenity has taken possession of my entire soul,
like these sweet mornings
</p-tab>
<p-tab disabled>
<template #icon>
<IconDocument />
</template>
One morning, when Gregor Samsa woke from troubled dreams,
he found himself transformed
</p-tab>
</p-tabs>
</template> One morning, when Gregor Samsa woke from troubled dreams, he found himself transformed
vue
<template>
<p-tabs>
<p-tab>
<template #icon>
<IconEdit />
</template>
<template #title>
Edit
</template>
One morning, when Gregor Samsa woke from troubled dreams,
he found himself transformed
</p-tab>
<p-tab>
<template #icon>
<IconView />
</template>
<template #title>
View
</template>
A wonderful serenity has taken possession of my entire soul,
like these sweet mornings
</p-tab>
<p-tab disabled>
<template #icon>
<IconDocument />
</template>
<template #title>
Setting
</template>
But I must explain to you how all this mistaken idea of denouncing
pleasure and praising pain was born
</p-tab>
</p-tabs>
</template>Badge
But I must explain to you how all this mistaken idea of denouncing pleasure and praising pain was born
vue
<template>
<p-tabs>
<p-tab>
<template #title>
To Sign <p-badge color="info">25</p-badge>
</template>
But I must explain to you how all this mistaken idea
of denouncing pleasure and praising pain was born
</p-tab>
<p-tab>
<template #title>
To Review <p-badge color="info">25</p-badge>
</template>
One morning, when Gregor Samsa woke from troubled dreams,
he found himself transformed
</p-tab>
</p-tabs>
</template> One morning, when Gregor Samsa woke from troubled dreams, he found himself transformed
vue
<template>
<p-tabs justified>
<p-tab>
<template #icon>
<IconEdit />
</template>
<template #title>
To Sign <p-badge color="info" variant="light">25</p-badge>
</template>
One morning, when Gregor Samsa woke from troubled dreams, he found himself transformed
</p-tab>
<p-tab>
<template #icon>
<IconView />
</template>
<template #title>
To Review <p-badge color="info" variant="light">25</p-badge>
</template>
A wonderful serenity has taken possession of my entire soul, like these sweet mornings
</p-tab>
</p-tabs>
</template>Vertical
The available alignment in vertical Tabs is just left and right
One morning, when Gregor Samsa woke from troubled dreams, he found himself transformed in his bed into a horrible vermin. He lay on his armour-like back, and if he lifted his head
vue
<template>
<p-tabs vertical nav-wrapper-class="w-48">
<p-tab title="Home">
One morning, when Gregor Samsa woke from troubled dreams,
he found himself transformed in his bed into a horrible vermin.
He lay on his armour-like back, and if he lifted his head
</p-tab>
<p-tab title="Profile">
But I must explain to you how all this mistaken idea of
denouncing pleasure and praising pain was born and I will
give you a complete account of the system,
</p-tab>
<p-tab title="Setting" disabled>
Far far away, behind the word mountains, far from
the countries Vokalia and Consonantia, there live the
blind texts. Separated they live in Bookmarksgrove right
</p-tab>
</p-tabs>
</template> One morning, when Gregor Samsa woke from troubled dreams, he found himself transformed in his bed into a horrible vermin. He lay on his armour-like back, and if he lifted his head
vue
<template>
<p-tabs vertical nav-wrapper-class="w-48" align="right">
<p-tab title="Home">
One morning, when Gregor Samsa woke from troubled dreams,
he found himself transformed in his bed into a horrible vermin.
He lay on his armour-like back, and if he lifted his head
</p-tab>
<p-tab title="Profile">
But I must explain to you how all this mistaken idea of
denouncing pleasure and praising pain was born and I will
give you a complete account of the system,
</p-tab>
<p-tab title="Setting" disabled>
Far far away, behind the word mountains, far from
the countries Vokalia and Consonantia, there live the
blind texts. Separated they live in Bookmarksgrove right
</p-tab>
</p-tabs>
</template>Binding v-model
You can binding current active with v-model
But I must explain to you how all this mistaken idea of denouncing pleasure and praising pain was born and I will give you a complete account of the system,
Active :
1vue
<template>
<p-tabs v-model="active">
<p-tab title="Home">
One morning, when Gregor Samsa woke from troubled dreams,
he found himself transformed in his bed into a horrible vermin.
He lay on his armour-like back, and if he lifted his head
</p-tab>
<p-tab title="Profile">
But I must explain to you how all this mistaken idea of
denouncing pleasure and praising pain was born and I will
give you a complete account of the system,
</p-tab>
<p-tab title="Setting" disabled>
Far far away, behind the word mountains, far from
the countries Vokalia and Consonantia, there live the
blind texts. Separated they live in Bookmarksgrove right
</p-tab>
</p-tabs>
</template>Variables
Tabs use local CSS variables for enhanced real-time customization.
sass
--p-tabs-content-padding-x: theme(spacing.6);
--p-tabs-content-padding-y: theme(spacing.6); // for vertical variantAPI
Props <p-tabs>
| Props | Type | Default | Description |
|---|---|---|---|
variant | String | pills | Tabs navigation variant, valid value is pills, lines and tabs |
fill | Boolean | false | Activate fullwidth Tabs navigation with fill type |
justified | Boolean | false | Activate fullwidth Tabs navigation with justified type |
align | String | left | Tabs navigation alignment, valid value is left, center, and right |
vertical | Boolean | false | Activate vertical Tabs |
nav-wrapper-class | String | undefined | Class to place in the navigation wrapper |
keep-alive | Boolean | false | Enable [KeepAlive][KeepAlive] |
modelValue | Number | 0 | v-model for actived tab |
Slots <p-tabs>
| Name | Description |
|---|---|
default | Content to place in the Nav |
Props <p-tab>
| Props | Type | Default | Description |
|---|---|---|---|
title | String | undefined | Place content in the Tab title |
disabled | Boolean | false | Disable tab functionality and place it in disabled state |
Slots <p-tab>
| Name | Description |
|---|---|
default | Content to place in the Tab |
icon | Content to place icon in Tab navigation |
title | Content to place icon in Tab title |
Events
| Name | Arguments | Description |
|---|---|---|
| There no event here | ||