Vue 3 Select Component

Ship accessible selects in minutes. Use the assembled component or compose headless primitives.
Core features

Everything you need in a select

Type-safe and accessible. Pick the assembled component or compose primitives.
    Batteries-included Select
    Drop-in component with v-model, options, search, clear, and multi-select.
    Headless primitives
    Compose SelectRoot, SelectTrigger, SelectPopover, and more for custom UX.
    End-to-end types
    Generics tie option values to v-model. Extend options with custom fields safely.
    Accessible by default
    WAI-ARIA combobox pattern, keyboard navigation, focus management, and screen readers.
    Your design system
    Unstyled primitives with stable data-attribute hooks. Bring your own CSS.
    v0 migration guide
    Step-by-step upgrade path from v0 to v1. Rename props, restyle, and adopt primitives.
Documentation

Explore the API

Configuration, customization, and every primitive component.
Props
v-model, options, flags, mappers, teleport, and filterBy for Select and SelectRoot.
Events
optionSelected, optionDeselected, search, menuOpened, and menuClosed with typed payloads.
Slots
Customize values, options, tags, icons, and empty states on primitives.
Components
Reference for SelectRoot, SelectTrigger, SelectListbox, SelectOption, and more.
Multi-select
Pick multiple values, show tags, remove with keyboard, and clear all at once.
Styling
Style every part with stable data-attribute hooks and your own CSS.
Copyright © 2026 - Thomas Cazade