修改显示的文本字段

时间:2019-04-04 10:06:59

标签: reactjs field admin-on-rest react-admin

我有<ReferenceField>,可以在其中使用一些数据。在这种情况下,我从API获取属性odata.type。我希望我的<TextField>显示此属性,但是我想稍微修改显示的输出。现在,属性显示如下:HardwareDatabase.CPU。基本上,我需要修改此输出以使其类似于:CPU

这是我之前描述的代码:

  <ReferenceField label="Type" source="id" reference="Hardware">
    <TextField source="odata.type"/>
  </ReferenceField>

有什么想法可以修改字段的输出吗?

谢谢。

2 个答案:

答案 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