oak-book/src/chapter2/2-3-4.md

950 B

组织组件

父子组件的关系

组件和其子组件之间有三种典型的关系:

  • 一对一:父亲是一个detail/upsert组件,其子组件也是一个detail/upsert组件。例如:假设我们设计了一个Application的详情页面,其中也要渲染其关联的System信息,则可以分成两个组件编写,并通过设置<SystemDetail oakPath={`${oakFullpath}.system}` />来指定关系。
  • 一对多:父亲是一个detail/upsert组件,其子组件是一个list组件。在上一小节的例子里就是这种关系,一个System的详情组件包含了一个Application的列表组件。
  • 多对一:父亲是一个list组件,其子组件是一个detail/upsert组件。这种关系是最特殊的一种,此时父子组件所属的Entity一定是相等的,且它们的相对路径是子组件对象的主键:<SystemItem oakPath={`${oakFullpath}.${system.id}`} />