Skip to content
Strife Docs

Reference Field Reference

fields.references()

Multi-template document references, sized and scoped by allowed template names. Not localizable.

Multi-template document references. Maps to editor { name: 'str-references', type: 'references' }. Unlike fields.reference() (a single str-related picker scoped by collection), references is a sized list scoped by allowed template names.

Stored as ContentRef[] (the write shape); at read time the content index projects each entry into the full target document, so strife typegen emits Target[].

Example

TypeScript
fields.references({
  label: 'Related content',
  allow: ['article', 'video-post'],
  size: 5,
})

Options

OptionTypeRequiredDescription
label
string
Yes
Label shown to editors in Strife Studio.
allow
string | readonly string[]
Yes
The defineType name(s) this field may reference. Emitted as wire options.availableTypes (normalized template names) and drives the generated read type. Pass several to allow a union.
description
string
No
Not shown in Studio's editor panel.
searchable
boolean
No
Stored on the template; nothing uses it today.
filterable
boolean
No
Stored on the template; nothing uses it today.
protected
boolean
No
Stops the field from being edited or removed in Studio's template designer. No effect in the editor panel.
propertyName
string
No
Override the stored property name.
size
number | null
No
Maximum number of references.
hint
string | null
No
Display hint shown above the references list in the editor.

No localizable option.

Output type

Write shape: ContentRef[]. Generated read shape (via strife typegen): Target[].

See also

  • References — the same editor, documented from the Strife Studio UI side.
  • fields.reference() — scoped by collection (to) rather than by template name (allow).