优化FormItemsRenderer

master
LiuJiaNan 2026-01-19 14:43:16 +08:00
parent 5c9956d0b9
commit fc9c7e8f8e
2 changed files with 10 additions and 4 deletions

View File

@ -14,6 +14,8 @@ export interface OptionItem {
bianma?: any; bianma?: any;
/** 名称字段 */ /** 名称字段 */
name?: string; name?: string;
/** 是否禁用 */
disabled?: boolean;
[key: string]: any; [key: string]: any;
} }

View File

@ -254,8 +254,9 @@ const FormItemsRenderer = ({
{(option.items || []).map((item) => { {(option.items || []).map((item) => {
const value = item[itemsFieldKey.valueKey]; const value = item[itemsFieldKey.valueKey];
const label = item[typeof itemsFieldKey.labelKey === "function" ? itemsFieldKey.labelKey(item) : itemsFieldKey.labelKey]; const label = item[typeof itemsFieldKey.labelKey === "function" ? itemsFieldKey.labelKey(item) : itemsFieldKey.labelKey];
const disabled = item[itemsFieldKey.disabled];
return ( return (
<Select.Option key={value} value={value}> <Select.Option key={value} value={value} disabled={disabled}>
{label} {label}
</Select.Option> </Select.Option>
); );
@ -269,8 +270,9 @@ const FormItemsRenderer = ({
{(option.items || []).map((item) => { {(option.items || []).map((item) => {
const value = item[itemsFieldKey.valueKey]; const value = item[itemsFieldKey.valueKey];
const label = item[typeof itemsFieldKey.labelKey === "function" ? itemsFieldKey.labelKey(item) : itemsFieldKey.labelKey]; const label = item[typeof itemsFieldKey.labelKey === "function" ? itemsFieldKey.labelKey(item) : itemsFieldKey.labelKey];
const disabled = item[itemsFieldKey.disabled];
return ( return (
<Radio key={value} value={value}> <Radio key={value} value={value} disabled={disabled}>
{label} {label}
</Radio> </Radio>
); );
@ -288,9 +290,10 @@ const FormItemsRenderer = ({
{(option.items || []).map((item) => { {(option.items || []).map((item) => {
const value = item[itemsFieldKey.valueKey]; const value = item[itemsFieldKey.valueKey];
const label = item[typeof itemsFieldKey.labelKey === "function" ? itemsFieldKey.labelKey(item) : itemsFieldKey.labelKey]; const label = item[typeof itemsFieldKey.labelKey === "function" ? itemsFieldKey.labelKey(item) : itemsFieldKey.labelKey];
const disabled = item[itemsFieldKey.disabled];
return ( return (
<Col span={option.checkboxCol} key={value}> <Col span={option.checkboxCol} key={value}>
<Checkbox value={value}> <Checkbox value={value} disabled={disabled}>
{label} {label}
</Checkbox> </Checkbox>
</Col> </Col>
@ -302,8 +305,9 @@ const FormItemsRenderer = ({
(option.items || []).map((item) => { (option.items || []).map((item) => {
const value = item[itemsFieldKey.valueKey]; const value = item[itemsFieldKey.valueKey];
const label = item[typeof itemsFieldKey.labelKey === "function" ? itemsFieldKey.labelKey(item) : itemsFieldKey.labelKey]; const label = item[typeof itemsFieldKey.labelKey === "function" ? itemsFieldKey.labelKey(item) : itemsFieldKey.labelKey];
const disabled = item[itemsFieldKey.disabled];
return ( return (
<Checkbox key={value} value={value}> <Checkbox key={value} value={value} disabled={disabled}>
{label} {label}
</Checkbox> </Checkbox>
); );