Select

Choose one or more values from a searchable option list.

Select

Default

Add a select element with the s-select component and the s-option sub component

Code copied

Color

Change the color of the component with the color property, the allowed values ​​are the main colors of Sax Design and the colors (RGB and HEX)

Code copied

Label

Add a label to the select easily with the label property, you can also add a label-placeholder which as its name says is a placeholder that encourages label, and finally the placeholder with the placeholder property

Code copied

Group

Group options within the select with the sub-component s-option-group, as the required prop is the title to add a title to the item group

Code copied

Filter

You can add the functionality of filtering options with the filter property, this property is a boolean so you can add it without any value

Code copied

Multiple

Add the functionality of multiple selection of options with the multiple property, this property is a boolean so you can add it without any value

Multiple Selects measure their available width by default and automatically replace tags that do not fit with +N. Set collapse-chips to false to allow tags to wrap; max-collapse-chips is only an optional upper limit.

The value of the select must be an array

Code copied

Loading

Add a loading animation to the select with the loading property, this property is a boolean so you can add it without any value

Code copied

State

Change the style of the component to the color passed in the state property, the allowed colors are only the main ones of Sax Design

This property can be used to indicate a missing field to the user or when something is ready.

Code copied

Message

Add an item below the select showing a message to the user

Code copied

Data source

Use options and option-groups when data arrives from an API. option-props and option-group-props map existing field names; filterable is an alias of filter.

Code copied

Use popup-config to control panel sizing, trigger-width matching, offset, mount target and custom styles. The first Select uses full to match its trigger; the second combines width and height limits with offset, appendTo, placement, className and style. The demo mounts to body; inside a dialog, replace appendTo with an existing container selector or element.

Code copied

Search matching and highlighting

Use filter-option for matching, highlight-search to mark the matching text and show-selected-mark for a selected indicator.

Code copied

selection-tools selects, inverts or clears the current filtered results. The footer slot receives counts and bulk actions, with no refresh behavior built in.

Code copied

Cached option labels

When remote pagination or searching replaces options, pass cached-options to retain selected labels. Use header and footer for the two popup regions.

Code copied

Pinned options

Set pin-key to persist pinned values in local storage. Hover an option to reveal its pin action, or press Ctrl+P on the keyboard-highlighted option. For server persistence, provide get-pin-options, pin-method and unpin-method together. auto-use-option selects the first pinned enabled option, falling back to the first enabled option.

Code copied

Virtual options

Enable virtual for large flat options arrays. Filtering, keyboard navigation and selected-value caching stay available while only visible rows mount. Dynamic measurement is on by default, so wrapped labels and custom option content may use different row heights; set virtual-config.dynamic to false only for truly fixed rows.

Code copied

API

PROPS

PropertyTypeValuesDescriptiondefaultExampleMore
label-floatBooleantrue | falseFloat the label when the field has focus or a selected value.
v-model / model-value / not-valueString | Number | Arrayoption value or valuesBind selected values and optionally configure the value treated as empty.-
block / shape / fit / strategyBoolean / String / Boolean / Stringtrue | false / square / true | false / absolute | fixedControl field width, shape and popup positioning strategy.false / - / false / absolute
clearable / hide-scrollbar / native-scrollbarBooleantrue | falseControl clear action and dropdown scrollbar rendering.false / false / false
filter-config / filter-method / remote / remote-config / remote-methodObject / Function / Boolean / Object / Functionfilter and remote data configurationConfigure local filtering or asynchronous remote options.-
popup-config / show-after / hide-after / loading-text / no-data-text / no-match-textObject / Number / Number / String / String / Stringwidth | full | matchTriggerWidth | minWidth | maxWidth | height | maxHeight | placement | transfer | appendTo | offset | zIndex | className | styleConfigure popup sizing, placement, transfer target, class and inline style, plus delay and feedback states.-
colorColorMain colors of Sax DesignRGBHEXChange the color of the component.primary
loadingBooleantruefalseDetermine if the component is in the loading state and add an animation.
flipNewBooleantruefalseChanges the placement of the options element to keep it in view.true
teleportedNewBooleantruefalsewhether select dropdown is teleported to the body
placeholderStringStringAdd a placeholder to the component.
labelStringStringAdd a label to the composite select.
label-placeholderStringStringAdd a placeholder that when in focus or with value becomes a label.
filterBooleantruefalseAdd the functionality to filter the select options.
default-first-optionNewBooleantruefalseselect first matching option on enter key. Use with `filter`
allow-createNewBooleantruefalseWhether creating new items is allowed. To use this, `filter` must be true
multipleBooleantruefalseAdd the functionality of being able to select several options from a select.
multiple-limitNewNumbernumberMaximum number of options user can select when `multiple` is `true`. No limit when set to 0
stateStringTheme colorsChange the state of the component to the color provided.
disabledBooleantruefalseDetermine if the component is in the disabled state.
collapse-chipsBooleantruefalseAdaptively collapse tags that do not fit and show the remaining count as `+N`.true
max-collapse-chipsNewNumbernumberOptional upper limit for visible tags when collapse-chips is true. Set to 0 to rely only on available width.
virtual / virtual-configNewBoolean / Objectthreshold | estimateSize | overscan | dynamicWindow flat data-driven options with TanStack Virtual and optionally measure dynamic row heights. Option groups and custom Option children retain normal rendering.false / '{}'
pin-key / get-pin-options / pin-method / unpin-method / auto-use-optionNewString / Function / Function / Function / Booleanlocal or remote option pinning configurationPin frequently used flat options to the top, persist them locally or remotely, and optionally select the first available option.- / - / - / - / false
multiple-display-mode / get-tag-label / get-display-valuetags | text / Function / Functionmultiple-selection display and formattersRender multiple values as tags or one-line text and customize their labels.tags / - / -
selection-tools / selection-tool-labels / show-selected-mark / search-placeholderArray / Object / Boolean / Stringall | invert | clearConfigure bulk selection tools, labels, selected marks and the search placeholder.[] / {} / false / ''
option-group:labelNewStringStringSet label for select group (required)
No matching data

SLOTS

PropertyTypeValuesDescriptiondefaultExampleMore
message-{color}slotwarndangersuccessAdd a message below the select.
Usage
No matching data
Last Updated: 2026-08-17, 08:33:54