element-pro-components
Version:
a component library for Vue 3 base on element-plus
27 lines (26 loc) • 1.62 kB
TypeScript
import type { ComputedRef, Ref, InjectionKey } from 'vue';
import type { UnknownObject } from '../types/index';
import type { IFormEmits, IFormExpose, IFormMenuColumns, IFormContext, IArrayFormEmits, IArrayFormProps, IFormProps, GroupFormColumn, IFormItemProps, UseFormProvideConfig, UseFormInjectEmitsCallback, FormColumn } from './index';
export declare const formMenu: IFormMenuColumns;
export declare function useFormMenu(props: Pick<IFormProps, 'menu'>): ComputedRef<IFormMenuColumns>;
export declare function useFormMethods(emit: IFormEmits): {
formRef: Ref<IFormExpose>;
formExpose: IFormExpose;
loading: Ref<boolean>;
update: (value: UnknownObject) => void;
submitForm: () => void;
resetForm: (reset?: boolean) => void;
};
export declare const formContentKey: InjectionKey<IFormContext>;
export declare function useFormProvide(content: UseFormProvideConfig): void;
export declare function useFormInjectEmits(emit: IFormEmits): UseFormInjectEmitsCallback;
export declare function useFormInject(): IFormContext | undefined;
export declare function useArrayForm(props: Pick<IArrayFormProps, 'modelValue' | 'columns' | 'max'>, emit: IArrayFormEmits): {
showAdd: ComputedRef<boolean>;
add: (indexes: number[]) => void;
remove: (index: number, indexes: number[]) => void;
update: (value: UnknownObject, index: number) => void;
};
export declare function useCreateLabel(props: Pick<IFormItemProps, 'indexes'>): (item: GroupFormColumn | FormColumn) => string | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>[] | undefined;