From 789c2cd9fbea73f6ec550b4e207d1e3fae47ea49 Mon Sep 17 00:00:00 2001 From: Harmeet Singh Date: Thu, 19 Mar 2026 18:42:11 -0500 Subject: [PATCH] docs(forms): clarify disabled FormArray value behavior Document that FormArray.value includes only enabled child controls when the array is enabled, but includes all child values when the FormArray itself is disabled. Fixes #67759 --- packages/forms/src/model/abstract_model.ts | 3 ++- packages/forms/src/model/form_array.ts | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/forms/src/model/abstract_model.ts b/packages/forms/src/model/abstract_model.ts index 92ed9649b1d..66b0cb054a0 100644 --- a/packages/forms/src/model/abstract_model.ts +++ b/packages/forms/src/model/abstract_model.ts @@ -554,7 +554,8 @@ export abstract class AbstractControl< * with a key-value pair for each member of the group. * * For a disabled `FormGroup`, the values of all controls as an object * with a key-value pair for each member of the group. - * * For a `FormArray`, the values of enabled controls as an array. + * * For an enabled `FormArray`, the values of enabled controls as an array. + * * For a disabled `FormArray`, the values of all controls as an array. * */ public readonly value!: TValue; diff --git a/packages/forms/src/model/form_array.ts b/packages/forms/src/model/form_array.ts index 4363dd2f3dc..041cfb28d0b 100644 --- a/packages/forms/src/model/form_array.ts +++ b/packages/forms/src/model/form_array.ts @@ -54,7 +54,8 @@ export type ɵFormArrayRawValue> = ɵTypedOrUntyp * * A `FormArray` aggregates the values of each child `FormControl` into an array. * It calculates its status by reducing the status values of its children. For example, if one of - * the controls in a `FormArray` is invalid, the entire array becomes invalid. + * the controls in a `FormArray` is invalid, the entire array becomes invalid. Similarly, if all + * controls in a `FormArray` are disabled, the entire array becomes disabled. * * `FormArray` accepts one generic argument, which is the type of the controls inside. * If you need a heterogenous array, use {@link UntypedFormArray}.