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
fields.labels({ label: 'Topics' })
// _output: string[]Options
| Option | Type | Required | Description |
|---|---|---|---|
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.