FormRecord
Tracks the value and validity state of a collection of FormControl
instances, each of which has
the same value type.
class FormRecord<TControl extends AbstractControl = AbstractControl, TControl> extends FormGroup<{
[key: string]: TControl;
}> {
registerControl(name: string, control: TControl): TControl
addControl(name: string, control: TControl, options?: { emitEvent?: boolean; }): void
removeControl(name: string, options?: { emitEvent?: boolean; }): void
setControl(name: string, control: TControl, options?: { emitEvent?: boolean; }): void
contains(controlName: string): boolean
setValue(value: { [key: string]: ɵValue<TControl>; }, options?: { onlySelf?: boolean; emitEvent?: boolean; }): void
patchValue(value: { [key: string]: ɵValue<TControl>; }, options?: { onlySelf?: boolean; emitEvent?: boolean; }): void
reset(value?: { [key: string]: ɵValue<TControl>; }, options?: { onlySelf?: boolean; emitEvent?: boolean; }): void
getRawValue(): {...}
// inherited from forms/FormGroup
constructor(controls: TControl, validatorOrOpts?: ValidatorFn | AbstractControlOptions | ValidatorFn[], asyncValidator?: AsyncValidatorFn | AsyncValidatorFn[])
controls: ɵTypedOrUntyped<TControl, TControl, {...}
registerControl<K extends string & keyof TControl>(name: K, control: TControl[K]): TControl[K]
registerControl<K extends string & keyof TControl>(name: K, control: TControl[K]): TControl[K]
registerControl(name: string, control: AbstractControl<any, any>): AbstractControl<any>
addControl<K extends string & keyof TControl>(name: K, control: Required<TControl>[K], options: { emitEvent?: boolean; } = {}): void
addControl(name: string, control: AbstractControl<any, any>, options?: { emitEvent?: boolean; }): void
addControl<K extends string & keyof TControl>(name: K, control: Required<TControl>[K], options?: { emitEvent?: boolean; }): void
removeControl(name: string, options: { emitEvent?: boolean; } = {}): void
removeControl(name: string, options?: { emitEvent?: boolean; }): void
removeControl<S extends string>(name: ɵOptionalKeys<TControl> & S, options?: { emitEvent?: boolean; }): void
setControl<K extends string & keyof TControl>(name: K, control: TControl[K], options: { emitEvent?: boolean; } = {}): void
setControl<K extends string & keyof TControl>(name: K, control: TControl[K], options?: { emitEvent?: boolean; }): void
setControl(name: string, control: AbstractControl<any, any>, options?: { emitEvent?: boolean; }): void
contains<K extends string & keyof TControl>(controlName: K): boolean
contains<K extends string>(controlName: K): boolean
contains(controlName: string): boolean
setValue(value: ɵIsAny<TControl, { [key: string]: any; }, { [K in keyof TControl]: ɵRawValue<TControl[K]>; }>, options: { onlySelf?: boolean; emitEvent?: boolean; } = {}): void
patchValue(value: ɵIsAny<TControl, { [key: string]: any; }, Partial<{ [K in keyof TControl]: ɵValue<TControl[K]>; }>>, options: { onlySelf?: boolean; emitEvent?: boolean; } = {}): void
reset(value: ɵIsAny<TControl, any, ɵIsAny<TControl, { [key: string]: any; }, Partial<{ [K in keyof TControl]: ɵValue<TControl[K]>; }>>> = {} as unknown as ɵFormGroupValue<TControl>, options: { onlySelf?: boolean; emitEvent?: boolean; } = {}): void
getRawValue(): ɵTypedOrUntyped<TControl, ɵFormGroupRawValue<TControl>, any>
// inherited from forms/AbstractControl
constructor(validators: ValidatorFn | ValidatorFn[], asyncValidators: AsyncValidatorFn | AsyncValidatorFn[])
value: TValue
validator: ValidatorFn | null
asyncValidator: AsyncValidatorFn | null
parent: FormGroup | FormArray | null
status: FormControlStatus
valid: boolean
invalid: boolean
pending: boolean
disabled: boolean
enabled: boolean
errors: ValidationErrors | null
pristine: boolean
dirty: boolean
touched: boolean
untouched: boolean
valueChanges: Observable<TValue>
statusChanges: Observable<FormControlStatus>
updateOn: FormHooks
root: AbstractControl
setValidators(validators: ValidatorFn | ValidatorFn[]): void
setAsyncValidators(validators: AsyncValidatorFn | AsyncValidatorFn[]): void
addValidators(validators: ValidatorFn | ValidatorFn[]): void
addAsyncValidators(validators: AsyncValidatorFn | AsyncValidatorFn[]): void
removeValidators(validators: ValidatorFn | ValidatorFn[]): void
removeAsyncValidators(validators: AsyncValidatorFn | AsyncValidatorFn[]): void
hasValidator(validator: ValidatorFn): boolean
hasAsyncValidator(validator: AsyncValidatorFn): boolean
clearValidators(): void
clearAsyncValidators(): void
markAsTouched(opts: { onlySelf?: boolean; } = {}): void
markAllAsTouched(): void
markAsUntouched(opts: { onlySelf?: boolean; } = {}): void
markAsDirty(opts: { onlySelf?: boolean; } = {}): void
markAsPristine(opts: { onlySelf?: boolean; } = {}): void
markAsPending(opts: { onlySelf?: boolean; emitEvent?: boolean; } = {}): void
disable(opts: { onlySelf?: boolean; emitEvent?: boolean; } = {}): void
enable(opts: { onlySelf?: boolean; emitEvent?: boolean; } = {}): void
setParent(parent: FormGroup<any> | FormArray<any>): void
abstract setValue(value: TRawValue, options?: Object): void
abstract patchValue(value: TValue, options?: Object): void
abstract reset(value?: TValue, options?: Object): void
getRawValue(): any
updateValueAndValidity(opts: { onlySelf?: boolean; emitEvent?: boolean; } = {}): void
setErrors(errors: ValidationErrors, opts: { emitEvent?: boolean; } = {}): void
get<P extends string | ((string | number)[])>(path: P): AbstractControl<ɵGetProperty<TRawValue, P>> | null
get<P extends string | (readonly (string | number)[])>(path: P): AbstractControl<ɵGetProperty<TRawValue, P>> | null
get<P extends string | Array<string | number>>(path: P): AbstractControl<ɵGetProperty<TRawValue, P>> | null
getError(errorCode: string, path?: string | (string | number)[]): any
hasError(errorCode: string, path?: string | (string | number)[]): boolean
}
Description
FormRecord
is very similar to FormGroup
, except it can be used with a dynamic keys,
with controls added and removed as needed.
FormRecord
accepts one generic argument, which describes the type of the controls it contains.
Further information is available in the Usage Notes...
Methods
registerControl() |
---|
Registers a control with the records's list of controls. |
See |
addControl() |
---|
Add a control to this group. |
See |
removeControl() |
---|
Remove a control from this group. |
See |
setControl() |
---|
Replace an existing control. |
See |
contains() |
---|
Check whether there is an enabled control with the given name in the group. |
See |
setValue() |
---|
Sets the value of the |
See |
patchValue() |
---|
Patches the value of the |
See |
reset() |
---|
Resets the |
See |
getRawValue() |
---|
The aggregate value of the |
ParametersThere are no parameters. Returns`{ }` |
See |
Usage notes
let numbers = new FormRecord({bill: new FormControl('415-123-456')});
numbers.addControl('bob', new FormControl('415-234-567'));
numbers.removeControl('bill');