Skip to content

Tabs ​

Tab switching component with line and card styles.

Basic Usage ​

type="line" is the default. The active tab has a sliding indicator.

Users content
Settings content
Roles content
vue
<ATabs>
  <ATabPane label="Users" name="1">Users content</ATabPane>
  <ATabPane label="Settings" name="2">Settings content</ATabPane>
  <ATabPane label="Roles" name="3">Roles content</ATabPane>
</ATabs>

Card Style ​

Set type="card" for card-style tabs.

Users content
Settings content
Roles content
vue
<ATabs type="card">
  <ATabPane label="Users" name="1">Users content</ATabPane>
  <ATabPane label="Settings" name="2">Settings content</ATabPane>
  <ATabPane label="Roles" name="3">Roles content</ATabPane>
</ATabs>

Closable ​

Set closable to show close buttons.

Closable tab content
Click the close button to remove
vue
<ATabs closable @edit="(action, name) => console.log(action, name)">
  <ATabPane label="Tab 1" name="1">Content</ATabPane>
  <ATabPane label="Tab 2" name="2">Content</ATabPane>
</ATabs>

Disabled Tab ​

Set disabled on ATabPane.

Enabled content
Disabled content
Enabled content
vue
<ATabs>
  <ATabPane label="Enabled" name="1">Enabled content</ATabPane>
  <ATabPane label="Disabled" name="2" disabled>Disabled content</ATabPane>
  <ATabPane label="Enabled" name="3">Enabled content</ATabPane>
</ATabs>

API ​

Tabs Props ​

NameTypeDefaultDescription
modelValuestring | number—Currently active tab name
type'line' | 'card''line'Tab style
closablebooleanfalseWhether tabs are closable
addablebooleanfalseShow add button
tabPosition'top' | 'left''top'Tab position

Tabs Events ​

NameDescription
update:modelValueActive tab changed
tabClickTab clicked
editClose or add tab, params (action, name?)

TabPane Props ​

NameTypeDefaultDescription
labelstring—Tab title
namestring | number—Unique identifier
disabledbooleanfalseDisabled

Interaction ​

  • Line tab indicator follows with spring elastic
  • Content fade-in animation on switch
  • Close button fades in on hover
  • Full ARIA tab roles

MIT License