Skip to content

Choice inputs

All choice elements share the same two ways of getting their options:

  1. Static options — the Options section: add label/value pairs by hand.
  2. Data source — the Primary source section: load options from an API and map which response fields become the value and label. See Data sources.

The stored value is always the option value (not the label).

Options — shared fields

Each manual option row has:

FieldWhat it does
LabelText the user sees.
ValueWhat is stored in the data.
Condition (visibleIf)Show this option only when an expression is true, e.g. {el1} == 1.
Icon / BadgeExtra visuals where the element supports them (Select button).

Shared option-related properties:

PropertyWhat it does
Use as numberConverts the option value to a number when storing.
Filter if equal / Filter if not equalShow an option only if its value equals / does not equal the given value or {field} — quick dependent lists without a server call.
Strict optionsValidates that the current value(s) still exist among the available options.
Option template / Option template refCustom HTML per option row ({{label}}, {{value}}, {{selected}}) — inline or from the template library; the ref wins.

Select (select / dropdown)

The standard dropdown. Best default for 5+ options.

PropertyWhat it does
Show searchAdds a search box inside the dropdown.
Placeholder textShown while nothing is selected.
Option value key / Option label keyWhich response fields become value and label (data-source options).

Multi-choice menu (multiSelect)

Like Select, but stores an array of values. Use contains({tags}, "vip") in expressions to check membership. Has the same search/placeholder/template properties as Select, plus clear-selections controls.

Autocomplete (autocomplete)

Type-ahead search. Best for long lists (clients, cities, products).

PropertyWhat it does
Lazy loadFetch options as the user types instead of upfront.
Min search lengthCharacters required before a lazy search fires.
Debounce (ms)Time between the last keystroke and the request.
Max suggestionsHow many suggestions to show.
Force selectionOnly values picked from the list are allowed; free-typed text is cleared.

Radio (radio)

All options visible, one selectable. Best for 2–5 options that users should compare at a glance.

PropertyWhat it does
Show inlineOptions in a single row instead of stacked.

Checkbox group (checkbox)

All options visible, many selectable. Stores an array. Also supports Show inline.

Single checkbox (singleCheckbox)

One yes/no checkbox storing true/false. Use for confirmations: "I agree to the terms" + required/requireIf.

PropertyWhat it does
Checkbox labelThe text next to the box — make the option readable without extra context.

Toggle switch (toggleSwitch)

A styled on/off switch. Same data as Single checkbox, different look — better for settings-style screens.

PropertyWhat it does
Toggle modecheckbox returns true/false; toggle allows custom on/off values.
True value / False valueCustom stored values in toggle mode — text, number, or JSON.
On label / Off labelTexts for the two states.

Select button (selectButton)

A row of connected buttons — a visual alternative to Radio for 2–4 short options (e.g. Person | Company).

PropertyWhat it does
OptionsRows with label, value, icon, badge, and visibleIf.
MultipleAllow several active buttons; the value becomes an array.
Allow emptyIn single mode, clicking the active button again deselects it.
Show selected iconCheck mark on active buttons.

List box (listBox)

A permanently open scrollable list with selection. Useful when choosing is the main task of the screen.

Choosing between them

SituationElement
2–4 options, single choiceRadio or Select button
5+ options, single choiceSelect
Long list, single choiceAutocomplete
Few options, multiple choiceCheckbox group
Many options, multiple choiceMulti-choice menu
Yes/noSingle checkbox or Toggle switch