shineout
Version:
Shein 前端组件库
56 lines (55 loc) • 2.48 kB
TypeScript
import { FormItemRule } from '../Rule/Props';
import { FORCE_PASS, IGNORE_VALIDATE, ValidType, PublishType } from './types';
import { FormDatumOptions, FormValid } from './Props';
import { ObjectType } from '../@types/common';
export default class<V extends ObjectType> {
rules: FormDatumOptions<V>['rules'];
onChange: FormDatumOptions<V>['onChange'];
removeUndefined: FormDatumOptions<V>['removeUndefined'];
$defaultValues: V;
$inputNames: {
[name: string]: boolean;
};
$values: Partial<V>;
$validator: ObjectType<FormValid>;
$events: ObjectType<((...args: any) => void)[]>;
$errors: ObjectType;
updateLock: boolean;
deepSetOptions: {
removeUndefined: boolean;
forceSet: boolean;
};
formUnmount: boolean;
constructor(options?: FormDatumOptions<V>);
handleChange(): void;
reset(): void;
setLock(lock: boolean): void;
get(name: string | (string[])): any;
set(value: ObjectType): void;
set(name: string | string[], value: any, pub?: boolean): void;
setArrayValue(names: string[], values: any[]): void;
insert(name: string, index: number, value: any): void;
splice(name: string, index: number): void;
remove(name: string): void;
publishValue(name: string, type: PublishType): void;
getError(name: string, firstHand?: boolean): any;
resetFormError(error?: ObjectType<string | Error>): void;
removeFormError(name: string): void;
setFormError(name: string, error?: Error): void;
setError(name: string, error?: Error, pub?: boolean): void;
insertError(name: string, index: number, error?: Error): void;
spliceError(name: string, index: number): void;
publishError(name: string): void;
getRule(name: string): FormItemRule<any>;
getValue(): any;
setValue(v?: any, type?: typeof IGNORE_VALIDATE | typeof FORCE_PASS, forceSet?: boolean): void;
bind(name: string, fn: (...args: any) => void, value: any, validate: FormValid): void;
unbind(name: string | string[], _cb?: any, reserveAble?: boolean): void;
dispatch(name: string, ...args: any): void;
subscribe(name: string, fn: (...args: any) => void): void;
unsubscribe(name: string, fn?: (...args: any) => void): void;
validate(type?: ValidType): Promise<unknown>;
validateFieldsByName(name: string, type?: ValidType): Promise<unknown>;
validateFields(names: string[], type?: ValidType): Promise<unknown>;
validateClear(): void;
}