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; |