UNPKG

yanzhen-design-vue

Version:

62 lines (61 loc) 3.41 kB
import { default as AUseForm, validateOptions } from 'ant-design-vue/es/form/useForm'; import { NamePath, RuleError, ValidateErrorEntity } from 'ant-design-vue/es/form/interface'; import { FormContext } from '../constants'; import { ComponentPublicInstance, ComputedRef } from 'vue'; import { MaybeVRef } from '@yanzhen-libs/utils-vue'; type Props = Record<string, any>; type AForm = ReturnType<typeof AUseForm>; export interface AntUseForm extends Pick<AForm, 'modelRef' | 'rulesRef' | 'initialModel' | 'validateInfos'> { validate: <T = any>(names?: NamePath, option?: validateOptions) => Promise<T>; clearValidate: (names?: NamePath) => void; resetFields: AForm['resetFields']; /** This is an internal usage. Do not use in your prod */ validateField: AForm['validateField']; mergeValidateInfo: AForm['mergeValidateInfo']; } export type FormContextMap = Map<object, Partial<AntUseForm>>; type AntOptions = NonNullable<Parameters<typeof AUseForm>[2]>; declare function createReactiveMap<K extends object, V extends AntUseForm>(entries?: [K, V][]): { set: (key: K, value: V) => { key: import('vue').UnwrapRef<K>; value: import('vue').UnwrapRef<V>; }; get: (key: K) => import('vue').UnwrapRef<V>; has: (key: K) => boolean; delete: (key: K) => void; values(): import('vue').UnwrapRef<V>[]; keys(): import('vue').UnwrapRef<K>[]; } & { values: V[]; keys: K[]; length: number; '0': any; }; export type ReactiveMap<K extends object, V extends AntUseForm> = ReturnType<typeof createReactiveMap<K, V>>; export type OnValidate = (source?: any, ...args: [...Parameters<NonNullable<AntOptions['onValidate']>>]) => void; type OnValidateArgs = Parameters<OnValidate>; export type OnFieldChange = (value: any, name: OnValidateArgs[1], source?: any, errors?: OnValidateArgs[3]) => void; type FormInstance = ComponentPublicInstance | Element; interface Options extends Omit<AntOptions, 'onValidate'> { formRef?: MaybeVRef<FormInstance | null>; onValidateResult?: (results: PromiseSettledResult<(RuleError | ValidateErrorEntity)[]>[]) => void; onValidate?: OnValidate; onFieldChange?: OnFieldChange; } export declare function useProvideForm(modelRef?: MaybeVRef<Props | null>, rulesRef?: MaybeVRef<Props | null>, options?: Options): { proxy: Pick<AntUseForm, "validate" | "resetFields" | "validateField" | "clearValidate">; scrollToField: (name: NamePath, options?: {}) => void; validate: <T = any>(names?: NamePath, option?: validateOptions) => Promise<T>; clearValidate: (names?: NamePath) => void; resetFields: AForm["resetFields"]; /** This is an internal usage. Do not use in your prod */ validateField: AForm["validateField"]; mergeValidateInfo: AForm["mergeValidateInfo"]; modelRef: import('ant-design-vue/es/form/useForm').Props | import('vue').Ref<import('ant-design-vue/es/form/useForm').Props>; rulesRef: import('ant-design-vue/es/form/useForm').Props | import('vue').Ref<import('ant-design-vue/es/form/useForm').Props>; initialModel: import('ant-design-vue/es/form/useForm').Props; validateInfos: import('ant-design-vue/es/form/useForm').validateInfos; }; export declare function useInjectForm<K extends keyof FormContext>(key: K): ComputedRef<FormContext[K]>; export declare function useInjectForm<K extends keyof FormContext>(key?: K | null): FormContext; export {};