优化FormItemsRenderer

master
LiuJiaNan 2025-10-30 16:47:59 +08:00
parent 04dcbd202f
commit 983ca08106
1 changed files with 49 additions and 50 deletions

View File

@ -27,7 +27,7 @@ const FormItemsRenderer = ({
collapse = false, collapse = false,
useAutoGenerateRequired = true, useAutoGenerateRequired = true,
initialValues, initialValues,
}) => { }) => {
const form = Form.useFormInstance(); const form = Form.useFormInstance();
// 获取表单值,优先使用 initialValues // 获取表单值,优先使用 initialValues
@ -297,7 +297,14 @@ const FormItemsRenderer = ({
return ( return (
option.customizeRender option.customizeRender
? (renderFormControl(option)) ? (renderFormControl(option))
: (() => { : (
<Form.Item
key={option.name || index}
noStyle
shouldUpdate={option.shouldUpdate ?? option?.componentProps?.shouldUpdate}
dependencies={option.dependencies || option?.componentProps?.dependencies}
>
{() => {
// 支持动态计算 hidden // 支持动态计算 hidden
const hidden = typeof option.hidden === "function" const hidden = typeof option.hidden === "function"
? option.hidden(getFormValues()) ? option.hidden(getFormValues())
@ -308,13 +315,6 @@ const FormItemsRenderer = ({
return ( return (
<Col key={option.name || index} span={itemSpan} style={style}> <Col key={option.name || index} span={itemSpan} style={style}>
<Form.Item
noStyle
shouldUpdate={option.shouldUpdate ?? option?.componentProps?.shouldUpdate}
dependencies={option.dependencies || option?.componentProps?.dependencies}
>
{() => {
return (
<Form.Item <Form.Item
name={option.name} name={option.name}
label={renderLabel(option)} label={renderLabel(option)}
@ -325,12 +325,11 @@ const FormItemsRenderer = ({
> >
{renderFormControl(option)} {renderFormControl(option)}
</Form.Item> </Form.Item>
</Col>
); );
}} }}
</Form.Item> </Form.Item>
</Col> )
);
})()
); );
} }