UntypedFormBuilder
UntypedFormBuilder — это то же самое, что и FormBuilder, но он предоставляет элементы управления без типизации.
API
class UntypedFormBuilder extends FormBuilder {
group(controlsConfig: { [key: string]: any; }, options?: AbstractControlOptions | null | undefined): UntypedFormGroup;
group(controlsConfig: { [key: string]: any; }, options: { [key: string]: any; }): UntypedFormGroup;
control(formState: any, validatorOrOpts?: ValidatorFn | FormControlOptions | ValidatorFn[] | null | undefined, asyncValidator?: AsyncValidatorFn | AsyncValidatorFn[] | null | undefined): UntypedFormControl;
array(controlsConfig: any[], validatorOrOpts?: ValidatorFn | AbstractControlOptions | ValidatorFn[] | null | undefined, asyncValidator?: AsyncValidatorFn | AsyncValidatorFn[] | null | undefined): UntypedFormArray;
override readonly nonNullable: NonNullableFormBuilder;
override record<T>(controls: { [key: string]: T; }, options?: AbstractControlOptions | null): FormRecord<ɵElement<T, null>>;
}
group
2 перегрузкиКак и FormBuilder#group, но результирующая группа не типизирована.
{ [key: string]: any; }
UntypedFormGroup
{ [key: string]: any; }
{ [key: string]: any; }
UntypedFormGroup
control
UntypedFormControlКак и FormBuilder#control, но результирующий элемент управления не типизирован.
any
UntypedFormControl
array
UntypedFormArrayКак и FormBuilder#array, но результирующий массив не типизирован.
any[]
UntypedFormArray
nonNullable
NonNullableFormBuilderВозвращает FormBuilder, в котором автоматически создаваемые элементы FormControl имеют {nonNullable: true} и не допускают значения null.
Создание элементов управления, не допускающих значения null
Создаваемый элемент управления не будет допускать значение null и при сбросе будет возвращаться к исходному значению.
let nnfb = new FormBuilder().nonNullable;
let name = nnfb.control('Alex'); // FormControl<string>
name.reset();
console.log(name); // 'Alex'
Создание групп или массивов, не допускающих значения null
При создании группы или массива все автоматически созданные внутренние элементы управления не будут допускать значение null и при сбросе будут возвращаться к исходным значениям.
let nnfb = new FormBuilder().nonNullable;
let name = nnfb.group({who: 'Alex'}); // FormGroup<{who: FormControl<string>}>
name.reset();
console.log(name); // {who: 'Alex'}
Создание полей, допускающих значение null, в группах или массивах
При этом поле по-прежнему может допускать значение null. В частности, уже созданный FormControl не изменяется. Например:
let nnfb = new FormBuilder().nonNullable;
// FormGroup<{who: FormControl<string|null>}>
let name = nnfb.group({who: new FormControl('Alex')});
name.reset(); console.log(name); // {who: null}
Поскольку внутренний элемент управления явно создаётся вызывающим кодом, конструктор не может контролировать его создание и не может исключить null.
record
FormRecord<ɵElement<T, null>>Создаёт новый экземпляр FormRecord. Принимает один универсальный аргумент — объект, содержащий все ключи и соответствующие типы внутренних элементов управления.
{ [key: string]: T; }Коллекция дочерних элементов управления. Ключ каждого дочернего элемента — это имя, под которым он зарегистрирован.
AbstractControlOptions | nullОбъект параметров конфигурации для FormRecord. Объект должен иметь тип AbstractControlOptions и может содержать следующие поля:
-
validators: функция синхронного валидатора или массив функций-валидаторов. -
asyncValidators: один асинхронный валидатор или массив функций асинхронных валидаторов. -
updateOn: событие, при котором следует обновить элемент управления (варианты: 'change' | 'blur' | submit').
FormRecord<ɵElement<T, null>>
Super-powered by Google ©2010–2025.
Code licensed under an MIT-style License. Documentation licensed under CC BY 4.0.
https://angular.dev/api/forms/UntypedFormBuilder