Usage
We currently don't have support for anitems
prop that would
allow for slot based rendering of the content. For now, use the TabsContent
import directly from the reka-ui
package.
<script lang="ts" setup>
import { TabsContent } from 'reka-ui'
const activeTab = ref('tab1')
</script>
<template>
<CTabs
v-model="activeTab"
class="flex flex-col gap-6"
>
<CTabsItem value="tab1">
Virtual machines
</CTabsItem>
<CTabsItem value="tab2">
Bare metal
</CTabsItem>
<template #content>
<TabsContent value="tab1">
tab-1
</TabsContent>
<TabsContent value="tab2">
tab-2
</TabsContent>
</template>
</CTabs>
</template>
Routed tabs
<script lang="ts" setup>
import { NuxtLink } from '#components'
const route = useRoute()
</script>
<template>
<div>
<CTabs
:model-value="route.path"
as="nav"
>
<CTabsItem
:as="NuxtLink"
to="/components/tabs"
value="/components/tabs"
>
Tabs
</CTabsItem>
<CTabsItem
:as="NuxtLink"
value="/components/alert"
to="/components/alert"
>
Alert
</CTabsItem>
</CTabs>
<NuxtPage />
</div>
</template>
Props
Tabs
modelValue
StringOrNumber
string
number
as
unknown
defaultValue
StringOrNumber
string
number
orientation
DataOrientation
"horizontal"
"vertical"
dir
Direction
"ltr"
"rtl"
activationMode
"automatic" | "manual"
unmountOnHide
boolean
asChild
boolean
TabsItem
valuerequired
StringOrNumber
string
number
as
unknown
disabled
boolean
asChild
boolean