修改文本字段显示的内容
Modify what Text Field is displaying
我有我的 <ReferenceField>
,我可以从中获取一些数据。在这种情况下,我从 API 中获取属性 odata.type
。我希望我的 <TextField>
显示此属性,但我想稍微修改显示的输出。现在属性显示如下:HardwareDatabase.CPU
。基本上我需要将此输出修改为:CPU
。
这是我之前描述的代码:
<ReferenceField label="Type" source="id" reference="Hardware">
<TextField source="odata.type"/>
</ReferenceField>
有什么想法可以修改字段的输出吗?
提前致谢。
使用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
试试这个:
<ReferenceField label="Type" source="id" reference="Hardware">
<FunctionField label="Name" render={record => record ? record["odata.type"].split(".")[1] : null} />
</ReferenceField>
我有我的 <ReferenceField>
,我可以从中获取一些数据。在这种情况下,我从 API 中获取属性 odata.type
。我希望我的 <TextField>
显示此属性,但我想稍微修改显示的输出。现在属性显示如下:HardwareDatabase.CPU
。基本上我需要将此输出修改为:CPU
。
这是我之前描述的代码:
<ReferenceField label="Type" source="id" reference="Hardware">
<TextField source="odata.type"/>
</ReferenceField>
有什么想法可以修改字段的输出吗?
提前致谢。
使用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
试试这个:
<ReferenceField label="Type" source="id" reference="Hardware">
<FunctionField label="Name" render={record => record ? record["odata.type"].split(".")[1] : null} />
</ReferenceField>