SignalFormControl
FormControl, основанный на правилах Signal Forms.
API
class SignalFormControl<T> extends AbstractControl {
constructor(value: T, schemaOrOptions?: any, options?: any): SignalFormControl<T>;
readonly fieldTree: FieldTree<T>;
readonly sourceValue: WritableSignal<T>;
readonly valueChanges: EventEmitter<T>;
readonly statusChanges: EventEmitter<FormControlStatus>;
setValue(value: any, options?: ValueUpdateOptions | undefined): void;
patchValue(value: any, options?: ValueUpdateOptions | undefined): void;
registerOnChange(fn: (value?: any, emitModelEvent?: boolean | undefined) => void): void;
registerOnDisabledChange(fn: (isDisabled: boolean) => void): void;
getRawValue(): T;
reset(value?: any, options?: ValueUpdateOptions | undefined): void;
readonly status: FormControlStatus;
readonly valid: boolean;
readonly invalid: boolean;
readonly pending: boolean;
readonly disabled: boolean;
readonly enabled: boolean;
get dirty(): boolean;
get pristine(): boolean;
get touched(): boolean;
get untouched(): boolean;
markAsTouched(opts?: { onlySelf?: boolean | undefined; } | undefined): void;
markAsDirty(opts?: { onlySelf?: boolean | undefined; } | undefined): void;
markAsPristine(opts?: { onlySelf?: boolean | undefined; } | undefined): void;
markAsUntouched(opts?: { onlySelf?: boolean | undefined; } | undefined): void;
updateValueAndValidity(_opts?: Object | undefined): void;
disable(_opts?: { onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; } | undefined): void;
enable(_opts?: { onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; } | undefined): void;
setValidators(_validators: any): void;
setAsyncValidators(_validators: any): void;
addValidators(_validators: any): void;
addAsyncValidators(_validators: any): void;
removeValidators(_validators: any): void;
removeAsyncValidators(_validators: any): void;
clearValidators(): void;
clearAsyncValidators(): void;
setErrors(_errors: any, _opts?: { emitEvent?: boolean | undefined; } | undefined): void;
markAsPending(_opts?: { onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; } | undefined): void;
}
constructor
SignalFormControl<T>fieldTree
FieldTree<T>Исходный FieldTree.
sourceValue
WritableSignal<T>Исходный сигнал, определяющий значение элемента управления.
valueChanges
EventEmitter<T>statusChanges
EventEmitter<FormControlStatus>setValue
void
@paramvalue
any
@paramoptions
ValueUpdateOptions | undefined
@returns
void
patchValue
void
@paramvalue
any
@paramoptions
ValueUpdateOptions | undefined
@returns
void
registerOnChange
void
@paramfn
(value?: any, emitModelEvent?: boolean | undefined) => void
@returns
void
registerOnDisabledChange
void
@paramfn
(isDisabled: boolean) => void
@returns
void
getRawValue
T
@returns
T
reset
void
@paramvalue
any
@paramoptions
ValueUpdateOptions | undefined
@returns
void
status
FormControlStatusvalid
booleaninvalid
booleanpending
booleandisabled
booleanenabled
booleandirty
booleandirty
booleanpristine
booleanpristine
booleantouched
booleantouched
booleanuntouched
booleanuntouched
booleanmarkAsTouched
void
@paramopts
{ onlySelf?: boolean | undefined; } | undefined
@returns
void
markAsDirty
void
@paramopts
{ onlySelf?: boolean | undefined; } | undefined
@returns
void
markAsPristine
void
@paramopts
{ onlySelf?: boolean | undefined; } | undefined
@returns
void
markAsUntouched
void
@paramopts
{ onlySelf?: boolean | undefined; } | undefined
@returns
void
updateValueAndValidity
void
@param_opts
Object | undefined
@returns
void
disable
void
@param_opts
{ onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; } | undefined
@returns
void
enable
void
@param_opts
{ onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; } | undefined
@returns
void
setValidators
void
@param_validators
any
@returns
void
setAsyncValidators
void
@param_validators
any
@returns
void
addValidators
void
@param_validators
any
@returns
void
addAsyncValidators
void
@param_validators
any
@returns
void
removeValidators
void
@param_validators
any
@returns
void
removeAsyncValidators
void
@param_validators
any
@returns
void
clearValidators
void
@returns
void
clearAsyncValidators
void
@returns
void
setErrors
void
@param_errors
any
@param_opts
{ emitEvent?: boolean | undefined; } | undefined
@returns
void
markAsPending
void
@param_opts
{ onlySelf?: boolean | undefined; emitEvent?: boolean | undefined; } | undefined
@returns
void
Описание
FormControl, основанный на правилах Signal Forms.
Этот класс служит связующим звеном между Signal Forms и Reactive Forms, позволяя использовать элементы управления на основе сигналов в стандартном FormGroup или FormArray.
Элемент управления можно создать с помощью Signal Forms и интегрировать в существующий FormGroup, передавая ему все статусы и сведения о валидности.
Примечания по использованию
Основное использование
const form = new FormGroup({
// You can create SignalFormControl with signal form rules, and add it to a FormGroup.
name: new SignalFormControl('Alice', p => {
required(p);
}),
age: new FormControl(25),
});
В шаблоне можно получить лежащий в основе fieldTree и привязать его:
<form [formGroup]="form"> <input [formField]="nameControl.fieldTree" /> <input formControlName="age" /> </form>
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/signals/compat/SignalFormControl