Skip to content
Strife Docs

Reference Field Reference

fields.labels()

Pick from the team's labels, organized by group for browsing — the same picker used for the built-in labels base property.

Pick from the team's labels. Maps to editor { name: 'str-multi-select', type: 'label' }.

Renders the same grouped picker as the built-in labels base property every document already has (submenus per label group, plus an ungrouped section) — this builder adds an additional, independently-valued field of the same kind, not a replacement for labels. There is no group-restriction option: like the base-properties field, it always offers every one of the team's labels.

Example

TypeScript
fields.labels({ label: 'Topics' })
// _output: string[]

Options

OptionTypeRequiredDescription
label
string
Yes
Label shown to editors in Strife Studio.
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.

No options, no group/scope setting, no localizable option.

Output type

string[] — one string per selected label, resolved live from the team's labels: the bare label name while the label is ungrouped, "<group name>/<label name>" while it's grouped (e.g. ["Färger/Blå", "Changelog"]). Renaming a label or group updates the value without republishing. The same value arrives on both paths a site reads it from — the Content/ByUrl index for published content (selectFields) and live preview (useState / subscribe in @strifeapp/strife) — so one handler serves both. The stored value is the array of selected label ids; a site never sees those. Querying, and the exact rules for grouped names: Label groups.

See also

  • fields.multiSelect() — a flat, ungrouped array-of-values picker; use this instead when the choices aren't the team's label taxonomy.