fix: add keys to ObjectField children and guard relation data in getFieldOptions
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
import * as React from 'react';
|
||||
import { Box, Typography } from '@mui/material';
|
||||
import { FieldComponentProps } from '../../types/overrides';
|
||||
|
||||
@@ -15,6 +16,7 @@ export default function ObjectField({ name, field, value, onChange, disabled, ba
|
||||
</Typography>
|
||||
<Box sx={{ display: 'flex', flexDirection: 'column', gap: 2 }}>
|
||||
{Object.entries(field.schema).map(([subKey, subField]) =>
|
||||
React.cloneElement(
|
||||
renderField({
|
||||
name: `${name}.${subKey}`,
|
||||
field: subField,
|
||||
@@ -28,8 +30,12 @@ export default function ObjectField({ name, field, value, onChange, disabled, ba
|
||||
uploadFile,
|
||||
uploading,
|
||||
relationDataMap,
|
||||
})
|
||||
}) as React.ReactElement,
|
||||
{ key: subKey }
|
||||
)
|
||||
)}
|
||||
|
||||
|
||||
</Box>
|
||||
</Box>
|
||||
);
|
||||
|
||||
@@ -16,7 +16,7 @@ export function getFieldOptions(field: ResourceField, relationData?: any[]): Sel
|
||||
}
|
||||
|
||||
if (field.relation) {
|
||||
const data = relationData ?? [];
|
||||
const data = Array.isArray(relationData) ? relationData : [];
|
||||
const enumOption = field.enumOption;
|
||||
if (!enumOption) {
|
||||
throw new Error(
|
||||
|
||||
Reference in New Issue
Block a user