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