FormArrayDirective
Связывает существующий FormArray с элементом DOM.
API
class FormArrayDirective extends AbstractFormDirective {
@Input('formArray') form: FormArray<any>;
@Output() ngSubmit: EventEmitter<any>;
readonly control: FormArray<any>;
override readonly submitted: boolean;
override directives: FormControlName[];
protected override onChanges(changes: { [propName: string]: SimpleChange<any>; }): void;
protected override onDestroy(): void;
override readonly formDirective: Form;
override readonly path: string[];
override addControl(dir: FormControlName): FormControl<any>;
override getControl(dir: FormControlName): FormControl<any>;
override removeControl(dir: FormControlName): void;
override addFormGroup(dir: FormGroupName): void;
override removeFormGroup(dir: FormGroupName): void;
override getFormGroup(dir: FormGroupName): FormGroup<any>;
override getFormArray(dir: FormArrayName): FormArray<any>;
override addFormArray(dir: FormArrayName): void;
override removeFormArray(dir: FormArrayName): void;
override updateModel(dir: FormControlName, value: any): void;
override onReset(): void;
override resetForm(value?: any, options?: { onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; }): void;
override onSubmit($event: Event): boolean;
override name: string | number | null;
override readonly value: any;
override readonly valid: boolean | null;
override readonly invalid: boolean | null;
override readonly pending: boolean | null;
override readonly disabled: boolean | null;
override readonly enabled: boolean | null;
override readonly errors: ValidationErrors | null;
override readonly pristine: boolean | null;
override readonly dirty: boolean | null;
override readonly touched: boolean | null;
override readonly status: string | null;
override readonly untouched: boolean | null;
override readonly statusChanges: any;
override readonly valueChanges: any;
override readonly validator: ValidatorFn | null;
override readonly asyncValidator: AsyncValidatorFn | null;
override reset(value?: any): void;
override hasError(errorCode: string, path?: string | (string | number)[] | undefined): boolean;
override getError(errorCode: string, path?: string | (string | number)[] | undefined): any;
}
ngSubmit
EventEmitter<any>Генерирует событие при отправке формы.
submitted
booleanПоказывает, была ли отправлена форма.
directives
FormControlName[]Отслеживает список добавленных экземпляров FormControlName
ngOnChanges
void{ [propName: string]: SimpleChange<any>; }
void
ngOnDestroy
voidvoid
onChanges
void{ [propName: string]: SimpleChange<any>; }
void
onDestroy
voidvoid
formDirective
FormВозвращает экземпляр этой директивы.
path
string[]Возвращает массив, представляющий путь к этой группе. Поскольку эта директива всегда находится на верхнем уровне формы, она всегда возвращает пустой массив.
addControl
FormControl<any>Настраивает директиву элемента управления в этой группе, повторно вычисляет его значение и валидность и добавляет экземпляр во внутренний список директив.
FormControl<any>
getControl
FormControl<any>Получает экземпляр FormControl из переданной директивы FormControlName
FormControl<any>
removeControl
voidУдаляет экземпляр FormControlName из внутреннего списка директив
void
addFormGroup
voidДобавляет в форму новый экземпляр директивы FormGroupName.
void
removeFormGroup
voidВыполняет необходимую очистку при удалении экземпляра директивы FormGroupName из представления.
void
getFormGroup
FormGroup<any>Получает FormGroup для переданного экземпляра директивы FormGroupName
FormGroup<any>
getFormArray
FormArray<any>Получает FormArray для переданного экземпляра директивы FormArrayName.
FormArray<any>
addFormArray
voidВыполняет необходимую настройку при добавлении экземпляра директивы FormArrayName в представление.
void
removeFormArray
voidВыполняет необходимую очистку при удалении экземпляра директивы FormArrayName из представления.
void
updateModel
voidЗадает новое значение для переданной директивы FormControlName.
anyНовое значение для элемента управления директивы.
void
onReset
voidМетод, вызываемый при возникновении события «reset» для формы.
void
resetForm
voidСбрасывает форму до начального значения и сбрасывает ее статус отправки.
anyНовое значение формы.
{ onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; }
void
onSubmit
booleanМетод, вызываемый при возникновении события «submit» для формы. Запускает эмиттер ngSubmit, который отправляет событие «submit» в качестве полезной нагрузки.
EventОбъект события «submit»
boolean
name
string | number | nullИмя элемента управления
value
anyВозвращает значение элемента управления, если он существует; в противном случае возвращает null.
valid
boolean | nullПоказывает, является ли элемент управления валидным. Элемент управления считается валидным, если для текущего значения нет ошибок валидации. Если элемент управления отсутствует, возвращается null.
invalid
boolean | nullПоказывает, является ли элемент управления невалидным, то есть содержит ли введенное значение ошибку. Если элемент управления отсутствует, возвращается null.
pending
boolean | nullПоказывает, находится ли элемент управления в состоянии ожидания: выполняется асинхронная валидация, и ошибки для введенного значения еще недоступны. Если элемент управления отсутствует, возвращается null.
disabled
boolean | nullПоказывает, отключен ли элемент управления, то есть отключен ли он в пользовательском интерфейсе, исключен ли из проверок валидации и из агрегированных значений родительских элементов управления. Если элемент управления отсутствует, возвращается null.
enabled
boolean | nullПоказывает, включен ли элемент управления, то есть учитывается ли он при вычислении валидности или значения родительских элементов управления. Если элемент управления отсутствует, возвращается null.
errors
ValidationErrors | nullВозвращает ошибки валидации элемента управления. Если элемент управления отсутствует, возвращается null.
pristine
boolean | nullПоказывает, является ли элемент управления нетронутым, то есть изменил ли пользователь его значение в пользовательском интерфейсе. Если элемент управления отсутствует, возвращается null.
dirty
boolean | nullПоказывает, является ли элемент управления измененным, то есть изменил ли пользователь его значение в пользовательском интерфейсе. Если элемент управления отсутствует, возвращается null.
touched
boolean | nullПоказывает, взаимодействовал ли пользователь с элементом управления, то есть вызвал ли для него событие blur. Если элемент управления отсутствует, возвращается null.
status
string | nullВозвращает статус валидации элемента управления. Возможные значения: «VALID», «INVALID», «DISABLED» и «PENDING». Если элемент управления отсутствует, возвращается null.
untouched
boolean | nullПоказывает, не взаимодействовал ли пользователь с элементом управления, то есть не вызывал ли для него событие blur. Если элемент управления отсутствует, возвращается null.
statusChanges
anyВозвращает мультикастовый Observable, который генерирует статус валидации при каждом его вычислении для элемента управления. Если элемент управления отсутствует, возвращается null.
valueChanges
anyВозвращает мультикастовый Observable изменений значения элемента управления, который генерирует событие при каждом изменении значения в пользовательском интерфейсе или программно. Если элемент управления отсутствует, возвращается null.
validator
ValidatorFn | nullФункция синхронной валидации, объединяющая все синхронные валидаторы, зарегистрированные в этой директиве.
asyncValidator
AsyncValidatorFn | nullФункция асинхронной валидации, объединяющая все асинхронные валидаторы, зарегистрированные в этой директиве.
reset
voidСбрасывает элемент управления с заданным значением, если элемент управления существует.
any
void
hasError
booleanПоказывает, есть ли у элемента управления по указанному пути заданная ошибка.
stringКод ошибки для проверки
string | (string | number)[] | undefinedСписок имен элементов управления, указывающий, как перейти от текущего элемента управления к элементу, ошибки которого нужно проверить.
booleanНаличие указанной ошибки у элемента управления по заданному пути.
Если элемент управления отсутствует, возвращается false.
Например, для следующего FormGroup:
form = new FormGroup({
address: new FormGroup({ street: new FormControl() })
});
Путь от корневой формы к элементу управления 'street' будет таким: 'address' -> 'street'.
Его можно передать этому методу в одном из двух форматов:
- Массив строк с именами элементов управления, например
['address', 'street'] - Список имен элементов управления, разделенных точками и записанных в одной строке, например
'address.street'
Если путь не указан, метод проверяет наличие ошибки у текущего элемента управления.
getError
anyВозвращает сведения об ошибке для элемента управления по указанному пути.
stringКод ошибки для проверки
string | (string | number)[] | undefinedСписок имен элементов управления, указывающий, как перейти от текущего элемента управления к элементу, ошибки которого нужно проверить.
anyДанные для указанной ошибки. Если элемент управления или ошибка отсутствует, возвращается null.
Например, для следующего FormGroup:
form = new FormGroup({
address: new FormGroup({ street: new FormControl() })
});
Путь от корневой формы к элементу управления 'street' будет таким: 'address' -> 'street'.
Его можно передать этому методу в одном из двух форматов:
- Массив строк с именами элементов управления, например
['address', 'street'] - Список имен элементов управления, разделенных точками и записанных в одной строке, например
'address.street'
Описание
Связывает существующий FormArray с элементом DOM.
Эта директива принимает существующий экземпляр FormArray. Затем этот экземпляр FormArray используется для сопоставления дочерних экземпляров FormControl, FormGroup/FormRecord и FormArray с дочерними директивами FormControlName, FormGroupName и FormArrayName.
Экспортируется модулем
Примечания по использованию
Регистрация массива формы
В следующем примере регистрируется FormArray с элементами управления для имени и фамилии, а также отслеживается событие ngSubmit при нажатии кнопки.
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/FormArrayDirective