为了检索设备类型,我正在使用,它将检索设备模型,然后使用另一个通过设备模型的字段“ typeID”引用设备类型以检索设备类型。
但是它显示以下警告:
警告:道具类型失败:道具翻译无效 布尔值提供给ReferenceField,这是预期功能。
图像代表数据模型(设备具有设备模型,而设备模型具有设备类型)
答案 0 :(得分:1)
这不是一个完美的解决方法,但是为了解决using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class LookAt : MonoBehaviour {
public Transform playerShip;
// Update is called once per frame
void Update () {
transform.LookAt(playerShip);
}
}
问题,您可以创建一个包装器,并拔出该道具以防止其通过。
Assets/LookAtShip.cs(7,9): error CS0118: `UnityEngine.Component.gameObject' is a `property' but a `type' was expected
在对此进行故障排除时,我还收到有关嵌套translateChoice
标签的错误。通过将父项const SubReference = ({ translateChoice, children, ...props }) => (
<ReferenceField {...props}>{children}</ReferenceField>
);
中的a
属性设置为linkType
,我能够使错误消失
false
答案 1 :(得分:0)
我有同样的问题,我认为这是一个实际的错误。我评论了相应的github问题https://github.com/marmelab/react-admin/issues/2140
我研究了ReferenceField
的代码,据我了解,这是一个实际的错误。 ReferenceField
需要一个translateChoice
属性的函数,但在内部将布尔值传递给ReferenceFieldView
。
如果将一个ReferenceField
嵌套到另一个false
中,则内部translateChoice
作为I want to implement swipe up to zoom in and swipe down to zoom out feature
属性,并且理所当然地抱怨它是一个布尔值而不是一个函数。
答案 2 :(得分:0)
我发现一个更好的解决方案有点像hack,但似乎更有效。
以问题示例为例,只需要<ReferenceField>
即可获得equipmentType,
const EquipList = ({...props}) => {
<List {...props}>
<Datagrid>
<ReferenceFieldController label="Equipment Type" reference="equipmentModel" source="modelID" linkType={false}>
{({referenceRecord, ...props}) => (
<ReferenceField basePath="/equipmentModel" resource="equipmentModel" reference="equipmentType" source="typeID" record={referenceRecord || {}} linkType="show">
<TextField source="name" />
</ReferenceField>
)}
</RefenceFieldController>
</Datagrid>
</List>
}
在上面的示例中,<ReferenceFieldController>
与<ReferenceField>
一样,获取设备的equipmentModel。需要使用标签是因为RA使用第一个<ReferenceField>
在<Datagrid>
中显示列标题,如果您使用国际化,则应将此翻译功能应用于该属性的正确资源。
<ReferenceController>
获取记录,并将其作为referenceRecord
传递给子函数,该子函数将呈现该组件以进行字段表示。无需呈现字段组件,而是呈现<ReferenceField>
来获取嵌套关系,然后显示该字段。由于<ReferenceFieldController>
仅将控制器道具传递给其子级,而字段组件的道具在嵌套关系中不执行您想要的操作,因此您必须将它们显式传递给<ReferenceField>
。您需要将record
的{{1}}作为<ReferenceField>
传递,因为最初referenceRecord || {}
尚未被获取,并且referenceRecord
不能与null一起使用。< / p>
将<ReferenceField>
中的linkType
设置为false会使它不呈现将用户重定向到错误路由的<ReferenceFieldController
组件。