Files
icehrm/web/node_modules/rc-field-form/es/Field.d.ts
2020-05-20 18:47:29 +02:00

37 lines
1.3 KiB
TypeScript

import * as React from 'react';
import { FormInstance, InternalNamePath, Meta, NamePath, Rule, Store, StoreValue, EventArgs } from './interface';
export declare type ShouldUpdate = true | ((prevValues: Store, nextValues: Store, info: {
source?: string;
}) => boolean);
interface ChildProps {
[name: string]: any;
}
export interface InternalFieldProps {
children?: React.ReactElement | ((control: ChildProps, meta: Meta, form: FormInstance) => React.ReactNode);
/**
* Set up `dependencies` field.
* When dependencies field update and current field is touched,
* will trigger validate rules and render.
*/
dependencies?: NamePath[];
getValueFromEvent?: (...args: EventArgs) => StoreValue;
name?: InternalNamePath;
normalize?: (value: StoreValue, prevValue: StoreValue, allValues: Store) => StoreValue;
rules?: Rule[];
shouldUpdate?: ShouldUpdate;
trigger?: string;
validateTrigger?: string | string[] | false;
validateFirst?: boolean;
valuePropName?: string;
messageVariables?: Record<string, string>;
onReset?: () => void;
}
export interface FieldProps extends Omit<InternalFieldProps, 'name'> {
name?: NamePath;
}
export interface FieldState {
resetCount: number;
}
declare const WrapperField: React.FC<FieldProps>;
export default WrapperField;