@fe6/water-pro
Version:
An enterprise-class UI design language and Vue-based implementation
31 lines (30 loc) • 1.66 kB
TypeScript
/** @format */
import { ComputedRef, Ref } from 'vue';
import type { FormProps, FormSchema, FormActionType } from '../types/form';
import type { NamePath } from '../../../form/interface';
interface UseFormActionContext {
emit: EmitType;
getProps: ComputedRef<FormProps>;
getSchema: ComputedRef<FormSchema[]>;
formModel: Recordable;
defaultValueRef: Ref<Recordable>;
formElRef: Ref<FormActionType>;
schemaRef: Ref<FormSchema[] | Partial<FormSchema>[]>;
getOriginSchema: Ref<FormSchema[] | Partial<FormSchema>[]>;
handleFormValues: Fn;
}
export declare function useFormEvents({ emit, getProps, formModel, getSchema, defaultValueRef, formElRef, schemaRef, getOriginSchema, handleFormValues, }: UseFormActionContext): {
handleSubmit: (e?: Event | boolean) => Promise<void>;
clearValidate: (name?: string | string[]) => Promise<void>;
validate: (nameList?: NamePath[] | undefined) => Promise<any>;
validateFields: (nameList?: NamePath[] | undefined) => Promise<any>;
getFieldsValue: (filterHidden?: boolean) => Recordable;
getChildrenFieldsValue: (filterHidden?: boolean) => {};
updateSchema: (data: Partial<FormSchema> | Partial<FormSchema>[], replace?: boolean) => Promise<void>;
appendSchemaByField: (schema: FormSchema, prefixField?: string, first?: boolean) => Promise<void>;
removeSchemaByFiled: (fields: string | string[]) => Promise<void>;
resetFields: (emitReset?: boolean, triggerSubmit?: boolean) => Promise<void>;
setFieldsValue: (values: Recordable) => Promise<void>;
scrollToField: (name: NamePath, options?: ScrollOptions | undefined) => Promise<void>;
};
export {};