我有<ReferenceField>
,可以在其中使用一些数据。在这种情况下,我从API获取属性odata.type
。我希望我的<TextField>
显示此属性,但是我想稍微修改显示的输出。现在,属性显示如下:HardwareDatabase.CPU
。基本上,我需要修改此输出以使其类似于:CPU
。
这是我之前描述的代码:
<ReferenceField label="Type" source="id" reference="Hardware">
<TextField source="odata.type"/>
</ReferenceField>
有什么想法可以修改字段的输出吗?
谢谢。
答案 0 :(得分:1)
尝试一下:
<ReferenceField label="Type" source="id" reference="Hardware">
<FunctionField label="Name" render={record => record ? record["odata.type"].split(".")[1] : null} />
</ReferenceField>
答案 1 :(得分:0)
使用FunctionField
:
<ReferenceField label="Type" source="id" reference="Hardware">
<FunctionField label="Name" render={record => record ? record.odata.type.split(".")[1] : null} />
</ReferenceField>
文档:https://marmelab.com/react-admin/Fields.html#functionfield
注意:请注意,如果还没有解决react-admin进行的提取调用,则记录可能不确定。发生这种情况是因为react-admin会使用其Redux存储中已经拥有的数据立即渲染UI(乐观渲染)。访问之前,您必须检查record
是否不是undefined