zy-react-library/hooks/useTable/index.d.ts

76 lines
2.3 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

import type { AntdTableOptions, AntdTableResult, Data, Params, Service } from "ahooks/lib/useAntdTable/types";
import type { FormInstance } from "antd/es/form";
type FormValues = Record<string, any>;
/**
* useTable 钩子的选项参数
*/
export interface UseTableOptions<TData extends Data, TParams extends Params> extends Omit<AntdTableOptions<TData, TParams>, "defaultParams" | "form"> {
/** 是否使用分页,默认是 */
usePagination?: boolean;
/** 默认分页参数,默认 { current: 1; pageSize: 10 } */
defaultPagination?: { current: number; pageSize: number };
/** 是否使用存储查询条件,默认是 */
useStorageQueryCriteria?: boolean;
/** 额外参数 */
params?: Record<string, any> | (() => Record<string, any>);
/** 表单数据转换函数,在每次请求之前调用,接收当前搜索的表单项,要求返回一个对象 */
transform?: (formData: FormValues) => FormValues;
/** 回调函数 */
callback?: (list: any[], data: any) => void;
/** 表单实例(通过 Form.useForm() 创建) */
form?: FormInstance;
}
/**
* 基础分页配置接口
*/
export interface BasePaginationConfig {
/** 当前页码 */
current: number;
/** 每页数量 */
pageSize: number;
/** 总数 */
total: number;
}
/**
* 扩展分页配置接口
*/
export interface ExtendedPaginationConfig extends BasePaginationConfig {
/** 显示快速跳转 */
showQuickJumper: boolean;
/** 显示页码选择器 */
showSizeChanger: boolean;
}
/**
* useTable 钩子返回的结果
*/
export interface UseTableResult<TData extends Data, TParams extends Params> extends AntdTableResult<TData, TParams> {
/** 表格属性 */
tableProps: {
/** 表格数据 */
dataSource: TData["list"];
/** 表格加载状态 */
loading: boolean;
/** 表格改变 */
onChange: (pagination: any, filters?: any, sorter?: any) => void;
/** 分页属性 */
pagination: false | ExtendedPaginationConfig;
[key: string]: any;
};
/** 查询方法,等于直接调用 search.submit */
getData: () => void;
}
/**
* 自定义 useTable继承 ahooks 的 useAntdTable根据需求进行扩展
*/
declare function useTable<TData extends Data, TParams extends Params>(
service: Service<TData, TParams>,
options?: UseTableOptions<TData, TParams>
): UseTableResult<TData, TParams>;
export default useTable;