diff --git a/react-openapi/src/components/fields/ListCellRenderer.tsx b/react-openapi/src/components/fields/ListCellRenderer.tsx
index 0650924..0c2c700 100644
--- a/react-openapi/src/components/fields/ListCellRenderer.tsx
+++ b/react-openapi/src/components/fields/ListCellRenderer.tsx
@@ -62,5 +62,9 @@ export function ListCellRenderer({ field, value, displayFormat }: ListCellProps)
return ;
}
+ if (typeof value === "object") {
+ return {applyDisplayFormat(value, displayFormat ?? "")};
+ }
+
return {String(value)};
}
diff --git a/react-openapi/src/transformers/field-config.ts b/react-openapi/src/transformers/field-config.ts
index fcd7e2a..77d758e 100644
--- a/react-openapi/src/transformers/field-config.ts
+++ b/react-openapi/src/transformers/field-config.ts
@@ -13,12 +13,15 @@ export function extractFields(schemaName: string, schema: any, schemas: Record {
const isDirectRef = !!prop.$ref;
const isItemsRef = prop.type === "array" && !!prop.items?.$ref;
- const isRef = isDirectRef || isItemsRef;
+ const isOneOf = !!prop.oneOf;
+ const isRef = isDirectRef || isItemsRef || isOneOf;
const refSchemaName = isDirectRef
? resolveRef(prop.$ref)
: isItemsRef
? resolveRef(prop.items.$ref)
+ : isOneOf && prop.oneOf[0]?.$ref
+ ? resolveRef(prop.oneOf[0].$ref)
: undefined;
const refSchema = refSchemaName ? schemas[refSchemaName] : undefined;
@@ -31,7 +34,7 @@ export function extractFields(schemaName: string, schema: any, schemas: Record