Version v3 Documentation
You are viewing documentation for an older version.
View latest (v4) documentation →
Select
A rich dropdown component for picking a single option from a list, with grouped items, disabled states, and full keyboard navigation built on accessible primitives.
Default
A basic
Select with a list of SelectItem options. Uses @bind-Value for two-way binding of the selected value. The trigger displays a placeholder until a selection is made.
Loading example…
Options Mode
Use the
Options parameter with a collection of SelectOption<TValue> to auto-generate the select UI without manually composing sub-components. Set Placeholder directly on the Select component. This mode takes priority over ChildContent and is ideal for simple data-driven selects.
Loading example…
With Label
Pair a
Select with an associated Label component. Set the id attribute on SelectTrigger and match it with the For parameter on Label for proper accessibility and click-to-focus behavior.
Loading example…
With Groups
Organize options into logical sections using
SelectGroup and SelectLabel. Each group displays a bold label header followed by its items, making long option lists easier to scan and navigate.
Loading example…
Disabled
Set
Disabled="true" on the Select component to prevent all user interaction. The trigger button becomes non-clickable, visually faded, and the dropdown cannot be opened.
Loading example…
Disabled Items
Individual
SelectItem elements can be disabled by setting Disabled="true" on the item. Disabled items appear faded and cannot be selected, while other items in the list remain fully interactive.
Loading example…
Display Text Selector
Use the
DisplayTextSelector parameter to derive display text directly from the selected value without waiting for dropdown items to render. This is especially useful when the Select has a pre-selected value on initial load, as it resolves the display text immediately via the provided Func<TValue, string>.
Loading example…
Infinite Scroll (Options)
Use
OnLoadMore, IsLoading, and EndOfListMessage to load large datasets in batches as the user scrolls. This example uses Options mode with a country list that loads 20 at a time.
Loading example…
Infinite Scroll (Compositional)
Compositional mode with rich items showing country flag emojis. The
OnLoadMore parameter on BbSelectContent triggers loading when the user scrolls near the bottom.
Loading example…