React-admin:嵌套项目出错

时间:2019-01-25 22:17:19

标签: react-admin

当我创建类似的输入时: 渲染正常,但是提交时出现错误: 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,任何人都可以帮助我...

保罗

1 个答案:

答案 0 :(得分:0)

在您的i18n中,翻译文件需要尊重嵌套引用。

React管理员尝试使用属性`resources。[resourcename] .fields。[fieldname](see docs)进行翻译(如果不存在),它将使用源prop上的字符串。如果您有嵌套的资源,而没有带有嵌套参考的翻译文件,则会由于找不到嵌套源而显示错误。

如果您创建这样的翻译文件:

const language = {
  resources: {
    patient: {
      patientname: {
        firstname: "firstname"
      }
    }
  }
};

您的问题已解决。请注意,您需要将此翻译资源添加到react-admin,可以找到更多信息here