Skip to main content

Repeater Field

The repeater field type renders a dynamic list of sub-field rows β€” for line items, team members, addresses, and similar one-to-many data.

Live Demo​

Team Members

1

RepeaterConfig​

interface RepeaterConfig {
fields: FormField[]; // sub-fields per row
minRows?: number; // minimum rows (default: 0)
maxRows?: number; // maximum rows allowed
addLabel?: string; // label for the add-row button
removeLabel?: string; // label/icon for the remove-row button
defaultRow?: Record<string, unknown>; // default values for new rows
}

Submitted Value Shape​

The repeater stores an array of row objects:

{
"teamMembers": [
{ "name": "Alice", "email": "alice@example.com", "role": "admin" },
{ "name": "Bob", "email": "bob@example.com", "role": "editor" }
]
}

Invoice Line Items Example​

Invoice Line Items

1