使用`admin-on-rest`显示嵌套数据

时间:2018-04-18 06:38:35

标签: reactjs admin-on-rest

我的数据格式如下 -

{
  "categories": [
  {
    "id": "1",
    "code": "TESTCODE001",
    "name": "TESTCODE001",
  "subcategories": [
    {
      "id": "11",
      "code": "TESTCODE0002",
      "name": "TESTCODE0002",
      "subcategories": []
    }
  ]
}

我无法显示子类别。我尝试过使用ReferenceArrayField但我无法使用它,因为类别和子类别是从同一个API中提取的。还尝试使用自定义组件来显示子类别,这也是不可能的,因为它在我点击子类别时显示编辑表单。

我写的代码 - categories.js

export const CategoryList = (props) => (
    <List title="All categories"  {...props} >
        <Datagrid>
             <TextField source="code" />
             <TextField source="name" />
             <TextField source="id" />
             <LinkToRelatedSubcategories/>
             <EditButton />
        </Datagrid>
     </List>
);

LinkToRelatedSubcategories.js

const LinkToRelatedSubcategories = ({ record, translate }) => (
    <FlatButton
        primary
        label='Subcategories'

        containerElement={<Link params={{ testvalue: "hello" }}
            to={{
                pathname: '/category/categoryId',

            }}
        />}
    />
);

任何帮助都将受到高度赞赏。

1 个答案:

答案 0 :(得分:1)

  

这也是不可能的,因为当我点击子类别时它会显示编辑表单。

对于展示页面,您可以使用:/category/categoryId/show

也许您可以使用react-admin代替admin-on-rest。它是新版本,现在处于候选发布模式。它有https://marmelab.com/react-admin/Fields.html#arrayfieldhttps://marmelab.com/react-admin/Inputs.html#arrayinput