@heartlee/element-components
Version:
a component library for Vue 3 base on element-plus. Forked from element-pro-components. 根据业务需求自用,如需使用,请移步官方仓库使用
53 lines (52 loc) • 2.27 kB
TypeScript
import { ComputedRef, Ref, Slot } from 'vue';
import type { ICrudProps, ICrudFormType, ICrudMenuColumns, IFormColumns, IFormMenuColumns, IFormSubmit, ITableColumns, UnknownObject, MaybeComputedRef, StringObject, IPaginationInfo } from '../types/index';
interface ICrudState {
pagination: IPaginationInfo;
queryParam: StringObject;
tableData: any[];
formFields: StringObject;
}
export declare function useCrudColumns(props: Readonly<ICrudProps>): {
searchColumns: ComputedRef<IFormColumns | undefined>;
tableColumns: ComputedRef<ITableColumns | undefined>;
menuColumns: ComputedRef<ICrudMenuColumns | undefined>;
};
export declare function useCrudForm(props: Readonly<ICrudProps>, emit: (event: 'submit', ...args: unknown[]) => void, resetForm: (reset?: boolean) => void, state: ICrudState): {
dialogVisible: Ref<boolean>;
formType: Ref<ICrudFormType>;
formColumns: ComputedRef<IFormColumns | undefined>;
openForm: (type: ICrudFormType, row?: UnknownObject) => void;
submitForm: IFormSubmit;
};
export declare function useCrudSearchForm(emit: (event: 'update:search' | 'search' | 'searchReset', ...args: unknown[]) => void, menuColumns?: MaybeComputedRef<ICrudMenuColumns | undefined>): {
searchMenu: ComputedRef<IFormMenuColumns>;
searchForm: IFormSubmit;
searchReset: () => void;
upSearchData: (value: unknown) => void;
};
export declare function useCrudSlots(): {
searchSlots: Record<string, Slot | undefined>;
tableSlots: Record<string, Slot | undefined>;
formSlots: Record<string, Slot | undefined>;
};
export declare function useCrud(props: Readonly<ICrudProps>): {
state: {
pagination: {
currentPage: number;
pageSize: number;
total: number;
};
queryParam: {
[x: string]: unknown;
};
tableData: any[];
formFields: {
[x: string]: unknown;
};
};
tableIndex: ComputedRef<false | import("../types/table").ITableIndexColumns>;
loadData: () => Promise<void>;
refresh: (reset?: boolean) => Promise<void>;
setPagination: ({ currentPage, pageSize }?: Partial<IPaginationInfo>) => void;
};
export {};