跳转到内容

BaseControl

Defined in: projects/view-angular/lib/component/form/control.base.component.ts:4

T = any

  • ControlValueAccessor

new BaseControl<T>(): BaseControl<T>

BaseControl<T>

readonly defaultValue: any = undefined

Defined in: projects/view-angular/lib/component/form/control.base.component.ts:5


disabled$: WritableSignal<boolean>

Defined in: projects/view-angular/lib/component/form/control.base.component.ts:34


value$: WritableSignal<T>

Defined in: projects/view-angular/lib/component/form/control.base.component.ts:6

registerOnChange(fn): void

Defined in: projects/view-angular/lib/component/form/control.base.component.ts:9

any

The callback function to register

void

Registers a callback function that is called when the control’s value changes in the UI.

This method is called by the forms API on initialization to update the form model when values propagate from the view to the model.

When implementing the registerOnChange method in your own value accessor, save the given function so your class calls it at the appropriate time.

The following example stores the provided function as an internal method.

registerOnChange(fn: (_: any) => void): void {
  this._onChange = fn;
}

When the value changes in the UI, call the registered function to allow the forms API to update itself:

host: {
   '(change)': '_onChange($event.target.value)'
}

ControlValueAccessor.registerOnChange


registerOnTouched(fn): void

Defined in: projects/view-angular/lib/component/form/control.base.component.ts:24

any

The callback function to register

void

Registers a callback function that is called by the forms API on initialization to update the form model on blur.

When implementing registerOnTouched in your own value accessor, save the given function so your class calls it when the control should be considered blurred or “touched”.

The following example stores the provided function as an internal method.

registerOnTouched(fn: any): void {
  this._onTouched = fn;
}

On blur (or equivalent), your class should call the registered function to allow the forms API to update itself:

host: {
   '(blur)': '_onTouched()'
}

ControlValueAccessor.registerOnTouched


setDisabledState(isDisabled): void

Defined in: projects/view-angular/lib/component/form/control.base.component.ts:35

boolean

The disabled status to set on the element

void

Function that is called by the forms API when the control status changes to or from ‘DISABLED’. Depending on the status, it enables or disables the appropriate DOM element.

The following is an example of writing the disabled property to a native DOM element:

setDisabledState(isDisabled: boolean): void {
  this._renderer.setProperty(this._elementRef.nativeElement, 'disabled', isDisabled);
}

ControlValueAccessor.setDisabledState


touchedChange(): void

Defined in: projects/view-angular/lib/component/form/control.base.component.ts:27

void


valueAndTouchedChange(value, setValue?): void

Defined in: projects/view-angular/lib/component/form/control.base.component.ts:30

T

boolean = true

void


valueChange(value, setValue?): void

Defined in: projects/view-angular/lib/component/form/control.base.component.ts:13

同时发射和value变更

T

boolean = true

void


writeValue(obj): void

Defined in: projects/view-angular/lib/component/form/control.base.component.ts:20

any

The new value for the element

void

Writes a new value to the element.

This method is called by the forms API to write to the view when programmatic changes from model to view are requested.

The following example writes a value to the native DOM element.

writeValue(value: any): void {
  this._renderer.setProperty(this._elementRef.nativeElement, 'value', value);
}

ControlValueAccessor.writeValue