import React, { Component, ReactNode } from 'react'; import { FormControlProps, FieldError, FormItemContextProps, KeyType, FormItemProps } from './interface'; import { NotifyType, StoreChangeInfo } from './store'; /** * 👀 👀 👀:不要在业务中直接调用,下个大版本将不会对外导出 */ export default class Control extends Component> { static defaultProps: { trigger: string; triggerPropName: string; }; static isFormControl: boolean; static contextType: React.Context>; context: FormItemContextProps; private errors; private warnings; private validateStatus; private touched; private isDestroyed; private childrenElement; private removeRegisterField; constructor(props: FormControlProps, context: FormItemContextProps); componentDidMount(): void; componentDidUpdate(prevProps: any): void; componentWillUnmount(): void; private triggerStateCollect; private toggleValidateStatus; private toggleTouched; private setWarnings; private setErrors; getErrors: () => FieldError | null; getWarnings: () => ReactNode[]; isTouched: () => boolean; getValidateStatus: () => FormItemProps['validateStatus']; hasFieldProps: () => boolean; private clearFormItemError; private updateFormItem; private getFieldValue; onStoreChange: (type: NotifyType, info: StoreChangeInfo & { current: any; }) => void; innerSetFieldValue: (field: FieldKey, value: FieldValue) => void; /** * * @param triggerType the value of validateTrigger. * @returns */ validateField: (triggerType?: string) => Promise<{ error: FieldError | null; value: FieldValue; field: FieldKey; }>; /** * 收集rules里的validateTrigger字段 */ getValidateTrigger(): string[]; handleTrigger: (_value: any, ...args: any[]) => void; renderControl(children: React.ReactNode, id: any): React.ReactElement>; getChild: () => React.ReactNode; render(): React.ReactNode; }