Абстрактный элемент управления
Stable Class
Что он делает
Это базовый класс для FormControl, FormGroup и FormArray.
Он предоставляет некоторое общее поведение, которым обладают все элементы управления и группы элементов управления, например, запуск валидаторов, вычисление состояния и сброс состояния. Он также определяет свойства, общие для всех подклассов, такие как value, valid, и dirty. Он не должен создаваться напрямую.
Обзор класса
class AbstractControl {
constructor(validator: ValidatorFn, asyncValidator: AsyncValidatorFn)
validator : ValidatorFn
asyncValidator : AsyncValidatorFn
value : any
parent : FormGroup|FormArray
status : string
valid : boolean
invalid : boolean
pending : boolean
disabled : boolean
enabled : boolean
errors : {[key: string]: any}
pristine : boolean
dirty : boolean
touched : boolean
untouched : boolean
valueChanges : Observable<any>
statusChanges : Observable<any>
setValidators(newValidator: ValidatorFn|ValidatorFn[]) : void
setAsyncValidators(newValidator: AsyncValidatorFn|AsyncValidatorFn[]) : void
clearValidators() : void
clearAsyncValidators() : void
markAsTouched({onlySelf}?: {onlySelf?: boolean}) : void
markAsUntouched({onlySelf}?: {onlySelf?: boolean}) : void
markAsDirty({onlySelf}?: {onlySelf?: boolean}) : void
markAsPristine({onlySelf}?: {onlySelf?: boolean}) : void
markAsPending({onlySelf}?: {onlySelf?: boolean}) : void
disable({onlySelf, emitEvent}?: {onlySelf?: boolean, emitEvent?: boolean}) : void
enable({onlySelf, emitEvent}?: {onlySelf?: boolean, emitEvent?: boolean}) : void
setParent(parent: FormGroup|FormArray) : void
setValue(value: any, options?: Object) : void
patchValue(value: any, options?: Object) : void
reset(value?: any, options?: Object) : void
updateValueAndValidity({onlySelf, emitEvent}?: {onlySelf?: boolean, emitEvent?: boolean}) : void
setErrors(errors: {[key: string]: any}, {emitEvent}?: {emitEvent?: boolean}) : void
get(path: Array<string|number>|string) : AbstractControl
getError(errorCode: string, path?: string[]) : any
hasError(errorCode: string, path?: string[]) : boolean
root : AbstractControl
}
Описание класса
Конструктор
constructor(validator: ValidatorFn, asyncValidator: AsyncValidatorFn)
Подробности класса
validator : ValidatorFn
asyncValidator : AsyncValidatorFn
value : any
Значение элемента управления.
parent : FormGroup|FormArray
Родительский элемент управления.
status : string
Состояние валидации элемента управления. Существует четыре возможных состояния валидации:
- ВАЛИДНО: элемент управления прошел все проверки валидации
- НЕВАЛИДНО: элемент управления не прошел хотя бы одну проверку валидации
- ОЖИДАЕТСЯ: элемент управления находится в процессе проверки валидации
- ВЫКЛЮЧЕН: элемент управления освобожден от проверок валидации
Эти состояния взаимоисключают, поэтому элемент управления не может быть одновременно валидным и невалидным, или невалидным и отключенным.
valid : boolean
Элемент управления считается valid, когда его status === VALID.
Для этого статуса элемент управления должен пройти все проверки валидации.
invalid : boolean
Элемент управления считается invalid, когда его status === INVALID.
Для этого статуса элемент управления должен не пройти хотя бы одну проверку валидации.
pending : boolean
Элемент управления считается pending, когда его status === PENDING.
Для этого статуса элемент управления должен находиться в процессе проверки валидации.
disabled : boolean
Элемент управления считается disabled, когда его status === DISABLED.
Отключенные элементы управления освобождаются от проверок валидации и не включаются в агрегированное значение их родительских элементов управления.
enabled : boolean
Элемент управления считается enabled, пока его status !== DISABLED.
Другими словами, у него статус VALID, INVALID, или PENDING.
errors : {[key: string]: any}
Возвращает любые ошибки, возникшие при провале валидации. Если ошибок нет, возвращает null.
pristine : boolean
Элемент управления считается pristine, если пользователь еще не изменил значение в пользовательском интерфейсе.
Обратите внимание, что программные изменения значения элемента управления не помечают его как изменённый.
dirty : boolean
Элемент управления считается dirty, если пользователь изменил значение в пользовательском интерфейсе.
Обратите внимание, что программные изменения значения элемента управления не помечают его как изменённый.
touched : boolean
Элемент управления помечается touched, как только пользователь инициирует событие blur на нем.
untouched : boolean
Элемент управления считается untouched, если пользователь еще не инициировал событие blur на нем.
valueChanges : Observable<any>
Выдает событие каждый раз, когда значение элемента управления изменяется, в пользовательском интерфейсе или программно.
statusChanges : Observable<any>
Выпускает событие каждый раз, когда состояние валидации элемента управления пересчитывается.
setValidators(newValidator: ValidatorFn|ValidatorFn[]) : void
Устанавливает синхронные валидаторы, активные на этом элементе управления. Вызов этого метода перезапишет все существующие синхронные валидаторы.
setAsyncValidators(newValidator: AsyncValidatorFn|AsyncValidatorFn[]) : void
Устанавливает асинхронные валидаторы, активные на этом элементе управления. Вызов этого метода перезапишет все существующие асинхронные валидаторы.
clearValidators() : void
Очищает список синхронных валидаторов.
clearAsyncValidators() : void
Очищает список асинхронных валидаторов.
markAsTouched({onlySelf}?: {onlySelf?: boolean}) : void
Помечает элемент управления как touched.
Это также помечает всех непосредственных предков как touched для поддержания модели.
markAsUntouched({onlySelf}?: {onlySelf?: boolean}) : void
Помечает элемент управления как untouched.
Если элемент управления имеет дочерние элементы, он также помечает все дочерние элементы как untouched для поддержания модели и пересчитывает состояние touched всех родительских элементов управления.
markAsDirty({onlySelf}?: {onlySelf?: boolean}) : void
Помечает элемент управления как dirty.
Это также помечает всех непосредственных предков как dirty для поддержания модели.
markAsPristine({onlySelf}?: {onlySelf?: boolean}) : void
Помечает элемент управления как pristine.
Если элемент управления имеет дочерние элементы, он также помечает все дочерние элементы как pristine для поддержания модели и пересчитывает состояние pristine всех родительских элементов управления.
markAsPending({onlySelf}?: {onlySelf?: boolean}) : void
Помечает элемент управления как pending.
disable({onlySelf, emitEvent}?: {onlySelf?: boolean, emitEvent?: boolean}) : void
Отключает элемент управления. Это означает, что элемент управления будет освобожден от проверок валидации и исключен из агрегированного значения любого родителя. Его состояние DISABLED.
Если элемент управления имеет дочерние элементы, все дочерние элементы будут отключены для поддержания модели.
enable({onlySelf, emitEvent}?: {onlySelf?: boolean, emitEvent?: boolean}) : void
Включает элемент управления. Это означает, что элемент управления будет включен в проверки валидации и агрегированное значение его родителя. Его состояние пересчитывается на основе его значения и валидаторов.
Если элемент управления имеет дочерние элементы, все дочерние элементы будут включены.
setParent(parent: FormGroup|FormArray) : void
setValue(value: any, options?: Object) : void
Устанавливает значение элемента управления. Абстрактный метод (реализован в подклассах).
patchValue(value: any, options?: Object) : void
Обновляет значение элемента управления. Абстрактный метод (реализован в подклассах).
reset(value?: any, options?: Object) : void
Сбрасывает элемент управления. Абстрактный метод (реализован в подклассах).
updateValueAndValidity({onlySelf, emitEvent}?: {onlySelf?: boolean, emitEvent?: boolean}) : void
Пересчитывает значение и состояние валидации элемента управления.
По умолчанию он также обновит значение и валидность своих предков.
setErrors(errors: {[key: string]: any}, {emitEvent}?: {emitEvent?: boolean}) : void
Устанавливает ошибки для элемента управления формой.
Это используется, когда валидации выполняются вручную пользователем, а не автоматически.
Вызов setErrors также обновит валидность родительского элемента управления.
const login = new FormControl("someLogin");
login.setErrors({
"notUnique": true
});
expect(login.valid).toEqual(false);
expect(login.errors).toEqual({"notUnique": true});
login.setValue("someOtherLogin");
expect(login.valid).toEqual(true);
get(path: Array<string|number>|string) : AbstractControl
Возвращает дочерний элемент управления, заданный по имени или пути элемента управления.
Пути могут быть переданы в виде массива или строки, разделенной точкой.
Чтобы получить элемент управления, вложенный в подгруппу person,
this.form.get('person.name');
-ИЛИ-
this.form.get(['person', 'name']);
getError(errorCode: string, path?: string[]) : any
Возвращает true, если элемент управления с заданным путем имеет указанную ошибку. В противном случае возвращает null или undefined.
Если путь не задан, проверяется ошибка на текущем элементе управления.
hasError(errorCode: string, path?: string[]) : boolean
Возвращает true, если элемент управления с заданным путем имеет указанную ошибку. В противном случае возвращает false.
Если путь не задан, проверяется ошибка на текущем элементе управления.
root : AbstractControl
Возвращает верхнего родителя этого элемента управления.
экспортировано из @angular/forms/index, определено в @angular/forms/src/model.ts
© 2010–2017 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://v2.angular.io/docs/ts/latest/api/forms/index/AbstractControl-class.html