zy-react-library/components/FormBuilder/FormBuilder.js

42 lines
812 B
JavaScript

import { Form, Row } from "antd";
import FormItemsRenderer from "./FormItemsRenderer";
/**
* 表单构建器组件
*/
const FormBuilder = (props) => {
const {
values,
options,
gutter = 24,
span = 12,
labelCol = { span: 4 },
onFinish,
useAutoGenerateRequired = true,
...restProps
} = props;
return (
<Form
labelCol={labelCol}
scrollToFirstError
wrapperCol={{ span: 24 - labelCol.span }}
onFinish={onFinish}
initialValues={values}
{...restProps}
>
<Row gutter={gutter}>
<FormItemsRenderer
options={options}
span={span}
useAutoGenerateRequired={useAutoGenerateRequired}
/>
</Row>
</Form>
);
};
FormBuilder.displayName = "FormBuilder";
export default FormBuilder;