优化FormItemsRenderer

master
LiuJiaNan 2025-12-30 15:32:30 +08:00
parent f74290bdda
commit 1d5d723944
2 changed files with 17 additions and 5 deletions

View File

@ -100,6 +100,8 @@ export interface FormOption<T extends keyof FORM_ITEM_RENDER_TYPE_MAP = keyof FO
items?: OptionItem[];
/** 字段键配置 */
itemsField?: itemsFieldConfig;
/** checkbox 的栅格数量,如果不传入不使用栅格,传入才使用 */
checkboxCol?: number;
/** 传递给表单控件的属性,支持函数动态计算 */
componentProps?: FORM_ITEM_RENDER_TYPE_MAP[T] | ((formValues: FormValues) => FORM_ITEM_RENDER_TYPE_MAP[T]);
/** 传递给 Form.Item 的属性,支持函数动态计算 */

View File

@ -284,11 +284,21 @@ const FormItemsRenderer = ({
{(option.items || []).map((item) => {
const value = item[itemsFieldKey.valueKey];
const label = item[typeof itemsFieldKey.labelKey === "function" ? itemsFieldKey.labelKey(item) : itemsFieldKey.labelKey];
return (
<Checkbox key={value} value={value}>
{label}
</Checkbox>
);
return option.checkboxCol
? (
<Row>
<Col span={option.checkboxCol}>
<Checkbox key={value} value={value}>
{label}
</Checkbox>
</Col>
</Row>
)
: (
<Checkbox key={value} value={value}>
{label}
</Checkbox>
);
})}
</Checkbox.Group>
);