优化FormItemsRenderer
parent
04dcbd202f
commit
983ca08106
|
|
@ -21,13 +21,13 @@ const { RangePicker } = DatePicker;
|
|||
* 表单项渲染器组件
|
||||
*/
|
||||
const FormItemsRenderer = ({
|
||||
options,
|
||||
labelCol,
|
||||
span = 12,
|
||||
collapse = false,
|
||||
useAutoGenerateRequired = true,
|
||||
initialValues,
|
||||
}) => {
|
||||
options,
|
||||
labelCol,
|
||||
span = 12,
|
||||
collapse = false,
|
||||
useAutoGenerateRequired = true,
|
||||
initialValues,
|
||||
}) => {
|
||||
const form = Form.useFormInstance();
|
||||
|
||||
// 获取表单值,优先使用 initialValues
|
||||
|
|
@ -297,40 +297,39 @@ const FormItemsRenderer = ({
|
|||
return (
|
||||
option.customizeRender
|
||||
? (renderFormControl(option))
|
||||
: (() => {
|
||||
// 支持动态计算 hidden
|
||||
const hidden = typeof option.hidden === "function"
|
||||
? option.hidden(getFormValues())
|
||||
: (option.hidden ?? false);
|
||||
: (
|
||||
<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())
|
||||
: (option.hidden ?? false);
|
||||
|
||||
if (hidden)
|
||||
return null;
|
||||
if (hidden)
|
||||
return null;
|
||||
|
||||
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)}
|
||||
rules={getRules(option)}
|
||||
labelCol={itemLabelCol}
|
||||
wrapperCol={itemWrapperCol}
|
||||
{...getFormItemProps(option)}
|
||||
>
|
||||
{renderFormControl(option)}
|
||||
</Form.Item>
|
||||
);
|
||||
}}
|
||||
</Form.Item>
|
||||
</Col>
|
||||
);
|
||||
})()
|
||||
return (
|
||||
<Col key={option.name || index} span={itemSpan} style={style}>
|
||||
<Form.Item
|
||||
name={option.name}
|
||||
label={renderLabel(option)}
|
||||
rules={getRules(option)}
|
||||
labelCol={itemLabelCol}
|
||||
wrapperCol={itemWrapperCol}
|
||||
{...getFormItemProps(option)}
|
||||
>
|
||||
{renderFormControl(option)}
|
||||
</Form.Item>
|
||||
</Col>
|
||||
);
|
||||
}}
|
||||
</Form.Item>
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -349,17 +348,17 @@ const FormItemsRenderer = ({
|
|||
option.customizeRender
|
||||
? (renderFormControl(option))
|
||||
: (
|
||||
<Form.Item
|
||||
name={option.name}
|
||||
label={renderLabel(option)}
|
||||
rules={getRules(option)}
|
||||
labelCol={itemLabelCol}
|
||||
wrapperCol={itemWrapperCol}
|
||||
{...getFormItemProps(option)}
|
||||
>
|
||||
{renderFormControl(option)}
|
||||
</Form.Item>
|
||||
)
|
||||
<Form.Item
|
||||
name={option.name}
|
||||
label={renderLabel(option)}
|
||||
rules={getRules(option)}
|
||||
labelCol={itemLabelCol}
|
||||
wrapperCol={itemWrapperCol}
|
||||
{...getFormItemProps(option)}
|
||||
>
|
||||
{renderFormControl(option)}
|
||||
</Form.Item>
|
||||
)
|
||||
}
|
||||
</Col>
|
||||
);
|
||||
|
|
|
|||
Loading…
Reference in New Issue