42 lines
1.2 KiB
TypeScript
42 lines
1.2 KiB
TypeScript
|
|
import type { FormInstance, FormProps } from "antd/es/form";
|
|||
|
|
import type { FC, ReactNode } from "react";
|
|||
|
|
import type { FormOption } from "../FormBuilder/FormItemsRenderer";
|
|||
|
|
|
|||
|
|
type FormValues = Record<string, any>;
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* Search 组件属性
|
|||
|
|
*/
|
|||
|
|
export interface SearchProps extends Omit<FormProps, "form" | "onFinish"> {
|
|||
|
|
/** 表单配置项数组 */
|
|||
|
|
options: FormOption[];
|
|||
|
|
/** 表单值 */
|
|||
|
|
values?: FormValues;
|
|||
|
|
/** 搜索和重置都会触发的回调 */
|
|||
|
|
onFinish?: (values: FormValues, type: "submit" | "reset") => void;
|
|||
|
|
/** 搜索回调 */
|
|||
|
|
onSubmit?: (values: FormValues) => void;
|
|||
|
|
/** 重置回调 */
|
|||
|
|
onReset?: (values: FormValues) => void;
|
|||
|
|
/** 搜索按钮文本,默认"搜索" */
|
|||
|
|
searchText?: string;
|
|||
|
|
/** 重置按钮文本,默认"重置" */
|
|||
|
|
resetText?: string;
|
|||
|
|
/** 是否显示搜索按钮,默认 true */
|
|||
|
|
showSearchButton?: boolean;
|
|||
|
|
/** 是否显示重置按钮,默认 true */
|
|||
|
|
showResetButton?: boolean;
|
|||
|
|
/** 额外的底部按钮组 */
|
|||
|
|
extraButtons?: ReactNode;
|
|||
|
|
/** 表单实例(通过 Form.useForm() 创建) */
|
|||
|
|
form: FormInstance;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 搜索表单组件
|
|||
|
|
* 支持自动展开/收起功能,当表单项超过4个时显示展开/收起按钮
|
|||
|
|
*/
|
|||
|
|
declare const Search: FC<SearchProps>;
|
|||
|
|
|
|||
|
|
export default Search;
|