Skip to content
Strife Docs

Reference Field Reference

fields.select()

Single- or multi-select combo-box dropdown. Always stores an array of {value, name} objects.

Single- or multi-select dropdown. Maps to editor { name: 'str-combo-box', type: 'combo-box' } — the underlying editor is a combo-box that supports both modes; the DSL surface is named select to match plan vocabulary.

The combo-box editor stores an array of { value, name } objects — even a single selection is [{ value, name }]. multiSelect only changes how many items can be picked, never the stored shape.

Example

TypeScript
fields.select({
  label: 'Status',
  options: [
    { name: 'Draft', value: 'draft' },
    { name: 'Published', value: 'published' },
  ] as const,
})
// _output: { value: 'draft' | 'published'; name: string }[]

Options

OptionTypeRequiredDescription
label
string
Yes
Label shown to editors in Strife Studio.
options
{ name: string; value: string; color?: string | null; icon?: string | null }[]
Yes
The selectable choices. Use as const (or rely on the generic) to narrow value to a literal union.
description
string
No
Tooltip shown to editors.
searchable
boolean
No
Include in the team's search index.
filterable
boolean
No
Allow filtering content lists by this value.
protected
boolean
No
Restrict editing to users with the appropriate permission.
propertyName
string
No
Override the stored property name.
multiSelect
boolean
No
Allow selecting more than one option.
defaultValue
one of options[].value
No
Preselected value.
placeholder
string | null
No
Placeholder text for the search field.
icon
string | null
No
Icon shown before the selected value.
Note:

The Studio-UI Combo Box editor also has an "External source" option (fetch options from an external URL). fields.select() doesn't expose this yet — options must be a literal array today.

No localizable option.

Output type

{ value: string; name: string }[] — value narrowed to the literal union of options[].value when declared as const.

See also

  • Combo Box — the same editor, documented from the Strife Studio UI side.
  • fields.multiSelect() — a different editor that stores just the selected values, not {value, name} objects.