A popup-based dropdown select. Accepts a static options array or an async source object with search and get methods. Supports custom rendering via snippets for both the trigger display and dropdown items.
Pass a SelectOption[] array and bind value. The dropdown shows a search input by default.
value: —
Add clearable to show an × button. With clearable enabled, selecting the same item again also clears the value to undefined.
value: banana
Pass an object with search and get as options. search(query) is called on every query change. get(values) resolves pre-selected values (e.g. on page load) so the trigger can display the correct label.
value: —
Use the trigger snippet to customize the trigger, and option to customize each dropdown row.
For extra option fields, import as and define a script-side typed caster, as shown below. This follows the package's snippet convention without inline TypeScript assertions; it does not validate runtime data.
Three sizes available: normal (default, h-10), compact (h-8), and small (h-6).
Use disabled to disable the trigger and prevent opening the dropdown. Set searchable={false} to hide the search input and show a plain list.
Disabled
No search input (searchable={false})
Supply a button configuration for a fixed-label action instead of a selected-value field. Select and MultiSelect both support this mode and hideKeyboardHints. Their selection bindings are unchanged; display the selected values separately when needed.
Single: —; multiple: —