BloomFieldArray<T extends BloomFormControl> constructor
BloomFieldArray<T extends BloomFormControl> ({})
Creates a reactive field array initialized with initialValues or an optional itemFactory.
Implementation
BloomFieldArray({
List<T> initialValues = const [],
List<T> Function()? itemFactory,
this.validators = const [],
this.asyncValidators = const [],
this.asyncDebounce = const Duration(milliseconds: 300),
}) : _itemFactory = itemFactory,
_initialControls = List.unmodifiable(initialValues) {
fields = signal<List<T>>(List.of(initialValues));
errors = signal<List<String>>([]);
isTouched = signal(false);
isDirty = computed(() =>
_arrayDirty.value ||
fields.value.any((control) => control.isDirty.value));
isValid = computed(() =>
errors.value.isEmpty &&
fields.value.every((control) => control.isValid.value));
isValidating = computed(() =>
_arrayValidating.value ||
fields.value.any((control) => control.isValidating.value));
}