Spec-Zone.ru › Angular

NgControl

Базовый класс, от которого наследуются все директивы на основе FormControl. Он связывает объект FormControl с элементом DOM.

API

abstract class NgControl extends AbstractControlDirective {
  constructor(injector?: Injector | undefined, renderer?: Renderer2 | undefined, rawValueAccessors?: ControlValueAccessor[] | undefined): NgControl;
  name: string | number | null;
  valueAccessor: ControlValueAccessor | null;
  protected isCustomControlBased: boolean;
  protected readonly selectedValueAccessor: ControlValueAccessor | null;
  abstract viewToModelUpdate(newValue: any): void;
  protected parseErrorsValidator: ValidatorFn | null;
  protected customControlBindings: { value?: unknown; disabled?: boolean | undefined; touched?: boolean | undefined; dirty?: boolean | undefined; valid?: boolean | undefined; invalid?: boolean | undefined; pending?: boolean | undefined; required?: boolean | undefined; errors?: ValidationErrors | null | undefined; } | null;
  protected setupCustomControl(): void;
  protected ngControlUpdate(host: ControlDirectiveHost<undefined>, bindRequired: boolean): void;
  protected readonly shouldBindRequired: boolean;
  protected removeParseErrorsValidator(control: AbstractControl<any, any, any> | null | undefined): void;
  abstract override readonly control: AbstractControl<any, any, any> | 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 path: string[] | null;
  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;
}

constructor

NgControl
@paraminjectorInjector | undefined
@paramrendererRenderer2 | undefined
@paramrawValueAccessorsControlValueAccessor[] | undefined
@returnsNgControl

name

string | number | null

Имя элемента управления

valueAccessor

ControlValueAccessor | null

Средство доступа к значению элемента управления

isCustomControlBased

boolean

selectedValueAccessor

ControlValueAccessor | null

viewToModelUpdate

void

Метод обратного вызова для обновления модели из представления по запросу

@paramnewValueany

Новое значение для представления

@returnsvoid

parseErrorsValidator

ValidatorFn | null

Функция валидатора, возвращающая текущие ошибки разбора.

customControlBindings

{ value?: unknown; disabled?: boolean | undefined; touched?: boolean | undefined; dirty?: boolean | undefined; valid?: boolean | undefined; invalid?: boolean | undefined; pending?: boolean | undefined; required?: boolean | undefined; errors?: ValidationErrors | null | undefined; } | null

Отслеживает последние привязанные значения, чтобы избежать ненужных обновлений FVC.

setupCustomControl

void
@returnsvoid

ngControlUpdate

void
@paramhostControlDirectiveHost<undefined>
@parambindRequiredboolean
@returnsvoid

shouldBindRequired

boolean

Следует ли элементу управления связывать свойство required (в режиме пользовательского элемента управления).

Подклассы, обрабатывающие required иначе, могут переопределить этот метод.

removeParseErrorsValidator

void
@paramcontrolAbstractControl<any, any, any> | null | undefined
@returnsvoid

control

AbstractControl<any, any, any> | 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.

path

string[] | null

Возвращает массив, представляющий путь от формы верхнего уровня к этому элементу управления. Каждый индекс — это строковое имя элемента управления на соответствующем уровне.

validator

ValidatorFn | null

Синхронная функция валидатора, объединяющая все синхронные валидаторы, зарегистрированные в этой директиве.

asyncValidator

AsyncValidatorFn | null

Асинхронная функция валидатора, объединяющая все асинхронные валидаторы, зарегистрированные в этой директиве.

reset

void

Сбрасывает элемент управления, задавая указанное значение, если элемент управления существует.

@paramvalueany
@returnsvoid

hasError

boolean

Сообщает, есть ли у элемента управления по указанному пути заданная ошибка.

@paramerrorCodestring

Код ошибки для проверки

@parampathstring | (string | number)[] | undefined

Список имен элементов управления, задающий путь от текущего элемента управления до элемента управления, в котором нужно проверить наличие ошибок.

@returnsboolean

есть ли указанная ошибка у элемента управления по заданному пути.

Если элемент управления отсутствует, возвращается false.

Примечания по использованию

Например, для следующей FormGroup:

form = new FormGroup({
  address: new FormGroup({ street: new FormControl() })
});

Путь от корневой формы к элементу управления 'street' будет таким: 'address' -> 'street'.

Его можно передать этому методу в одном из двух форматов:

  1. Массив строковых имен элементов управления, например ['address', 'street']
  2. Разделенный точками список имен элементов управления в одной строке, например 'address.street'

Если путь не указан, этот метод проверяет наличие ошибки у текущего элемента управления.

getError

any

Возвращает данные об ошибке для элемента управления по указанному пути.

@paramerrorCodestring

Код ошибки для проверки

@parampathstring | (string | number)[] | undefined

Список имен элементов управления, задающий путь от текущего элемента управления до элемента управления, в котором нужно проверить наличие ошибок.

@returnsany

данные об указанной ошибке. Если элемент управления или ошибка отсутствует, возвращается null.

Примечания по использованию

Например, для следующей FormGroup:

form = new FormGroup({
  address: new FormGroup({ street: new FormControl() })
});

Путь от корневой формы к элементу управления 'street' будет таким: 'address' -> 'street'.

Его можно передать этому методу в одном из двух форматов:

  1. Массив строковых имен элементов управления, например ['address', 'street']
  2. Разделенный точками список имен элементов управления в одной строке, например 'address.street'

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/NgControl

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API