当我创建类似的输入时: 渲染正常,但是提交时出现错误: index.js:1446警告:关键字缺少翻译:“无法读取null的属性'name'”
export const PatientCreate = props => (
<Create {...props}>
<SimpleForm>
<NumberInput source="bsn" />
<TextInput source="patientname.firstname" />
<BooleanInput source="active" />
</SimpleForm>
</Create>
);
当我删除嵌套项目Patientname.firstname时,所有内容都可以正常工作。..有人知道吗?
使用Prisma服务器数据,但错误是在放置之前发生在Create中,所以我认为我与react-admin有关。 模型是(Prisma MongoDB):
type Patient {
id: ID! @id
bsn: Int @unique
active: Boolean! @default(value: true)
patientname: Patientname
deceased: DateTime
}
type Patientname @embedded {
firstname: String
}
在React-admin文档中: https://marmelab.com/admin-on-rest/Inputs.html#textinput
<TextInput source="author.firstName" />
Tnx,任何人都可以帮助我...
保罗
答案 0 :(得分:0)
在您的i18n中,翻译文件需要尊重嵌套引用。
React管理员尝试使用属性`resources。[resourcename] .fields。[fieldname](see docs)进行翻译(如果不存在),它将使用源prop上的字符串。如果您有嵌套的资源,而没有带有嵌套参考的翻译文件,则会由于找不到嵌套源而显示错误。
如果您创建这样的翻译文件:
const language = {
resources: {
patient: {
patientname: {
firstname: "firstname"
}
}
}
};
您的问题已解决。请注意,您需要将此翻译资源添加到react-admin,可以找到更多信息here。