Skip to content

Menu — Vue

Terminal window
npm install @fluix-ui/vue @fluix-ui/css
<script setup>
import { Menu } from "@fluix-ui/vue";
import "@fluix-ui/css";
</script>
<template>
<Menu.Root orientation="horizontal" variant="pill" theme="dark">
<Menu.Item id="home">Home</Menu.Item>
<Menu.Item id="features">Features</Menu.Item>
<Menu.Item id="pricing">Pricing</Menu.Item>
</Menu.Root>
</template>
PropTypeDefaultDescription
orientation"vertical" | "horizontal""horizontal"Layout direction
variant"pill" | "tab""pill"Visual style of the indicator
themeMenuTheme"dark"Color theme
activeIdstring | nullControlled active item ID
defaultActiveIdstring | nullInitial active item (uncontrolled)
springSpringConfigcore defaultSpring animation config
roundnessnumberBorder radius factor
blurnumberIndicator blur amount
fillstringBackground color override
EventPayloadDescription
@active-changestringEmitted when the active item changes
<script setup>
import { ref } from "vue";
import { Menu } from "@fluix-ui/vue";
import "@fluix-ui/css";
const active = ref("home");
</script>
<template>
<Menu.Root
orientation="horizontal"
variant="pill"
theme="dark"
:activeId="active"
@active-change="active = $event"
>
<Menu.Item id="home">Home</Menu.Item>
<Menu.Item id="features">Features</Menu.Item>
<Menu.Item id="pricing">Pricing</Menu.Item>
</Menu.Root>
</template>
<template>
<Menu.Root variant="tab" orientation="horizontal" theme="dark">
<Menu.Item id="overview">Overview</Menu.Item>
<Menu.Item id="analytics">Analytics</Menu.Item>
<Menu.Item id="settings">Settings</Menu.Item>
</Menu.Root>
</template>