Component

ArrayFieldComponent

@ng-forge/dynamic-forms

Container component for rendering dynamic arrays of fields.

Supports add/remove/move operations via the arrayEvent() builder API. Uses differential updates to optimize rendering - only recreates items when necessary. Each item gets a scoped injector with ARRAY_CONTEXT for position-aware operations. Supports multiple sibling fields per array item (e.g., name + email without a wrapper).

Signature

class ArrayFieldComponent<
  TModel extends Record<string, unknown> = Record<string, unknown>
>

Type Parameters

NameConstraintDefaultDescription
TModelRecord<string, unknown>Record<string, unknown>-

Properties

NameTypeDescription
environmentInjector EnvironmentInjector-
field InputSignal<ArrayField<readonly ArrayItemDefinition[]>>-
key InputSignal<string>-
className InputSignal<string>-
hidden InputSignal<boolean>-
hostClasses Signal<string>-
resolvedItems Signal<ResolvedArrayItem[]>Read-only view of resolved items for template consumption.
atMaxLength Signal<boolean>

Whether the array has reached its configured maxLength. Exposed as a public signal so add-button components can bind [disabled]="atMaxLength()".