@pluve/use-antd-table-vue
Version:
ant-design-vue Form 与 Table 联动逻辑封装
50 lines (49 loc) • 1.25 kB
TypeScript
import type { TablePaginationConfig } from "ant-design-vue/es/table";
export interface IRequestResult<T> {
total: number | undefined;
list: T[];
}
export interface IRequestParams {
current: number;
pageSize: number;
sorter?: any;
filters?: any;
extra?: any;
[key: string]: any;
}
export declare type IRequest<T> = (page: IRequestParams, formData?: any) => Promise<IRequestResult<T>>;
export interface IThrottleOpions {
delay?: number;
enable?: boolean;
}
export interface IOptions {
defaultCurrent?: number;
defaultPageSize?: number;
form?: any;
onSuccess?: (data: IRequestResult<any>) => void;
throttle?: IThrottleOpions;
}
export declare type ITableOnChangeParams = [
pagination: TablePaginationConfig,
filters: any,
sorter: any,
extra: any
];
export declare type ITableOnChange = (...args: ITableOnChangeParams) => void;
export interface ITableProps<T> {
dataSource: T[];
loading: boolean;
pagination: any;
onChange: ITableOnChange;
}
export interface ITablePagination {
current: number;
pageSize: number;
total: number;
}
export interface ITableMutateType {
data?: any[];
total?: number;
current?: number;
pageSize?: number;
}