优化FormItemsRenderer

master
LiuJiaNan 2025-12-16 17:17:22 +08:00
parent ef8b200783
commit c1c9233ed3
2 changed files with 4 additions and 4 deletions

View File

@ -31,7 +31,7 @@ export interface itemsFieldConfig {
/** 值字段的键名,默认为 'bianma' */
valueKey?: string;
/** 标签字段的键名,默认为 'name' */
labelKey?: string;
labelKey?: string | ((item: Record<string, any>) => ReactNode);
}
/**

View File

@ -253,7 +253,7 @@ const FormItemsRenderer = ({
<Select placeholder={placeholder} showSearch allowClear optionFilterProp="children" {...componentProps}>
{(option.items || []).map((item) => {
const value = item[itemsFieldKey.valueKey];
const label = item[itemsFieldKey.labelKey];
const label = item[typeof itemsFieldKey.labelKey === "function" ? itemsFieldKey.labelKey(item) : itemsFieldKey.labelKey];
return (
<Select.Option key={value} value={value}>
{label}
@ -268,7 +268,7 @@ const FormItemsRenderer = ({
<Radio.Group {...componentProps}>
{(option.items || []).map((item) => {
const value = item[itemsFieldKey.valueKey];
const label = item[itemsFieldKey.labelKey];
const label = item[typeof itemsFieldKey.labelKey === "function" ? itemsFieldKey.labelKey(item) : itemsFieldKey.labelKey];
return (
<Radio key={value} value={value}>
{label}
@ -283,7 +283,7 @@ const FormItemsRenderer = ({
<Checkbox.Group {...componentProps}>
{(option.items || []).map((item) => {
const value = item[itemsFieldKey.valueKey];
const label = item[itemsFieldKey.labelKey];
const label = item[typeof itemsFieldKey.labelKey === "function" ? itemsFieldKey.labelKey(item) : itemsFieldKey.labelKey];
return (
<Checkbox key={value} value={value}>
{label}