react-admin:在引用字段上处理空值



我有一个参考字段,如下所示:

<ReferenceField label="User" source="user_id" reference="users">
<TextField source="name" />
</ReferenceField>

它工作得很好,但问题有时user_id可能为空,这会导致加载栏无限期显示。 如果引用字段的值为 null,有什么方法可以显示替代文本或类似文本?

不,没有替代文本或其他选项。
您的 id 为空,应该将引用字段留空,不显示加载栏。


通过添加"allowEmpty"来更改您的 ReferenceField 元素,它应该可以工作:<ReferenceField label="User" source="user_id" reference="users" allowEmpty>

只是想在这里提一下,在我看来,allowEmptyprop 已从较新版本的ReferenceField组件中删除,因此建议的解决方案对我不起作用。我只是创建了一个自定义组件NullableReferenceField以防止sourcenull时呈现任何内容(甚至发出 API 请求(。当然,您也可以自定义在这种情况下显示的内容。

import React from "react";
import {
ReferenceField,
useRecordContext,
} from "react-admin";
export default function NullableReferenceField({ source, ...props }) {
const record = useRecordContext();
if (!record[source]) {
return null;
}
return <ReferenceField source={source} {...rest} />;
}

最新更新