Related views
Switch between a project overview, activity, and team information in one place.
Components / Navigation
Switch related views while keeping each panel mounted.
Switch between a project overview, activity, and team information in one place.
Use manual activation when changing a tab starts costly work.
<script setup lang="ts">
import { ref } from 'vue'
import Tabs from './components/ui/tabs/Tabs.vue'
import TabsList from './components/ui/tabs/TabsList.vue'
import TabsTrigger from './components/ui/tabs/TabsTrigger.vue'
import TabsContent from './components/ui/tabs/TabsContent.vue'
const view = ref('overview')
</script>
<template>
<Tabs v-model="view" label="Workspace views">
<TabsList>
<TabsTrigger value="overview"><template #icon><OverviewIcon aria-hidden="true" /></template>Overview</TabsTrigger>
<TabsTrigger value="activity">Activity</TabsTrigger>
</TabsList>
<TabsContent value="overview">Overview content</TabsContent>
<TabsContent value="activity">Activity content</TabsContent>
</Tabs>
</template>Connect each trigger value to exactly one panel.
<script setup lang="ts">
import { ref } from 'vue'
import Tabs from './components/ui/tabs/Tabs.vue'
import TabsContent from './components/ui/tabs/TabsContent.vue'
import TabsList from './components/ui/tabs/TabsList.vue'
import TabsTrigger from './components/ui/tabs/TabsTrigger.vue'
const view = ref('overview')
</script>
<template>
<Tabs v-model="view" label="Project views">
<TabsList><TabsTrigger value="overview">Overview</TabsTrigger><TabsTrigger value="activity">Activity</TabsTrigger></TabsList>
<TabsContent value="overview"><p>Project summary</p></TabsContent>
<TabsContent value="activity"><p>Recent changes</p></TabsContent>
</Tabs>
</template>Arrow keys move focus; Enter or Space selects the focused tab.
<script setup lang="ts">
import Tabs from './components/ui/tabs/Tabs.vue'
import TabsContent from './components/ui/tabs/TabsContent.vue'
import TabsList from './components/ui/tabs/TabsList.vue'
import TabsTrigger from './components/ui/tabs/TabsTrigger.vue'
</script>
<template>
<Tabs label="Report views" activation="manual" orientation="vertical">
<TabsList><TabsTrigger value="chart">Chart</TabsTrigger><TabsTrigger value="data">Data</TabsTrigger></TabsList>
<TabsContent value="chart">Chart preview</TabsContent>
<TabsContent value="data">Data summary</TabsContent>
</Tabs>
</template>The most useful props, models, slots, events, and methods for this component.
| Name | Type | Default or requirement |
|---|---|---|
items | { value; label; disabled? }[] | optional |
label | string | required |
v-model | string | first enabled tab |
orientation | horizontal | vertical | horizontal |
activation | automatic | manual | automatic |
Arrow keys move between tabs. Manual activation selects with Enter or Space.