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