Skip to content
Strife Docs

Reference Fields

Repeatable

The Repeatable editor allows editors to add multiple values using the same input type, making it ideal for structured lists and repeatable data patterns.

A Repeatable editor is configured with one specific editor type, which is then reused for every item in the list. Supported editor types include standard inputs (text, number, date), textarea, links, and combo boxes. Mixing different editor types within the same Repeatable editor is not supported by design—this ensures consistent data output and predictable rendering.

From a data perspective, the Repeatable editor outputs an array of value objects, where each item follows the schema of the selected editor type. This makes the field straightforward to consume in templates, APIs, and custom components.

The Repeatable editor is well suited for use cases such as tag lists, external links, key facts, dates, or any scenario where a controlled set of repeated values is required without introducing additional document structure.

Settings

In addition to the basic settings, this section provides information about unique settings and configurations specific to this field.

Note:

You can find a comprehensive list of all basic settings in the 'Overview' section.

OptionDescription
Editor Type
Select the type of editor that can be added to the repeatable. Supported editor types include standard inputs (text, number, date), textarea, links, and combo boxes.
Size
Optional setting for limiting the number of references allowed
Options*
Options to display. Only available for combo box editors
External source*
Use an external source to fetch options. Only available for combo box editors

Define with JSON

When defining templates using JSON, this field is represented using:

  • Component Name: str-repeatable
  • Type: repeatable
  • Reference ID: str-repeatable

The settings above map into the editor object inside the JSON definition.

Note:

Note for JSON configuration
When configuring a Repeatable editor using JSON, the editor type is defined by a specific editor ID. Set options.availableTypes to an array containing exactly one string with this ID. The correct ID for each editor type is listed on its respective documentation page.

JSON
{
  ...
  "editor": {
    "name": "str-repeatable",
    "type": "repeatable",
    "propertyName": "...",
    "attributes": {
      "hint": "...",
      "size": 3,              //Any number
      "externalDataSource": "..." //*Combo Box editors only
    },
    "options": {
      "availableTypes": [...], // Array with single item allowed with editor ID for repeatable editor
      "items": [               //*Combo Box editors only
        {
          "name": "...",
          "value": "...",
          "color": "...",  //Optional, hex color format
          "icon": "...",   //Optional, name of icon
          "avatar": "..."  //Optional, url to avatar
        },
        ...
      ],
    }
    ...    
  },
  ...
}

Live preview

Note:

This field does not have any default Strife Web Components. Custom live preview implementations are fully supported.

Note:

For more information on live preview and Strife Web Components, please refer to the Live preview documentation.