32 lines
897 B
TypeScript
32 lines
897 B
TypeScript
|
|
import type { FormInstance, FormProps } from "antd/es/form";
|
||
|
|
import type { Gutter } from "antd/es/grid/row";
|
||
|
|
import type { FC } from "react";
|
||
|
|
import type { FormOption, FormValues } from "./FormItemsRenderer";
|
||
|
|
|
||
|
|
/**
|
||
|
|
* FormBuilder 组件属性
|
||
|
|
*/
|
||
|
|
export interface FormBuilderProps extends Omit<FormProps, "form"> {
|
||
|
|
/** 表单初始值 */
|
||
|
|
values?: FormValues;
|
||
|
|
/** 表单配置项数组 */
|
||
|
|
options: FormOption[];
|
||
|
|
/** 栅格间距,默认 24 */
|
||
|
|
gutter?: Gutter | [Gutter, Gutter];
|
||
|
|
/** 占据栅格列数,默认 12 */
|
||
|
|
span?: number | string;
|
||
|
|
/** 表单实例(通过 Form.useForm() 创建) */
|
||
|
|
form: FormInstance;
|
||
|
|
/** 自动生成必填规则,默认 true */
|
||
|
|
useAutoGenerateRequired?: boolean;
|
||
|
|
/** 表单提交回调 */
|
||
|
|
onFinish?: (values: any) => void;
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 表单构建器组件
|
||
|
|
*/
|
||
|
|
declare const FormBuilder: FC<FormBuilderProps>;
|
||
|
|
|
||
|
|
export default FormBuilder;
|