zent
Version:
一套前端设计语言和基于React的实现
39 lines (38 loc) • 1.34 kB
TypeScript
import { BehaviorSubject } from 'rxjs';
import { BasicModel } from './basic';
import { ValidateOption } from '../validate';
import { FIELD_ID } from './is';
import type { FieldBuilder } from '../builders';
export interface INormalizeBeforeSubmit<A, B> {
(a: A): B;
}
declare class FieldModel<Value> extends BasicModel<Value> {
private readonly defaultValue;
[FIELD_ID]: boolean;
protected readonly _displayName = "FieldModel";
readonly _value$: BehaviorSubject<Value>;
readonly _valid$: BehaviorSubject<boolean>;
readonly builder?: FieldBuilder<Value>;
isTouched: boolean;
isCompositing: boolean;
normalizeBeforeSubmit: INormalizeBeforeSubmit<Value, any>;
owner: BasicModel<any> | null;
constructor(defaultValue: Value);
get value$(): BehaviorSubject<Value>;
get valid$(): BehaviorSubject<boolean>;
_getValue$(): BehaviorSubject<Value>;
_getValid$(): BehaviorSubject<boolean>;
reset(): void;
clear(): void;
clearError(): void;
initialize(value: Value): void;
getRawValue(): Value;
getSubmitValue(): any;
validate(option?: ValidateOption): Promise<import("../validate").IValidateResult<Value>>;
patchValue(value: Value): void;
pristine(): boolean;
dirty(): boolean;
touched(): boolean;
dispose(): void;
}
export { FieldModel };