bit Bheadless

Combobox

An accessible typeable autocomplete with consumer-driven filtering.

Implementation: CSS Tailwind

Basic Combobox

Type to filter, use Up / Down to navigate, Enter to select, Escape to close. The combobox emits an OnQueryChange event; you do the filtering in your own code and pass only the matching options as children.

Selected: (none)

Multi-select with chips

Set Multiple="true" to allow many selections. Selected values are shown as chips above the input (each with a remove button). The panel stays open after each pick.

Picked: (none)

Object values with rich content

Bind to objects rather than strings. Provide a DisplayValue function that converts the selected object back to the input text, and render rich content inside each option.

Selected: (none)

Anchor Positioning

Set Anchor on BitBhComboboxOptions to automatically position the dropdown relative to the input using position: fixed. The panel flips to the opposite side when there's not enough space, shifts to stay within the viewport, and auto-updates on scroll/resize. No position: relative on the parent is needed.

Bottom Start

Top Start (flips down if no space)

Selected: (none)

Large lists (virtualized)

Pass the matching data to BitBhComboboxOptions through Items with an ItemTemplate, and set Virtualize="true" so only the options in view are rendered (fixed ItemSize, scrollable panel). Filtering stays yours: OnQueryChange runs BitBhFilter.Contains — case- and accent-insensitive — over 10,000 items on every keystroke. Child content such as BitBhComboboxEmpty still renders after the data options.

10,000 matches · Selected: (none)
An unhandled error has occurred. Reload 🗙