创建、编辑页面中的数据网格

Datagrid in Create, Edit page

我想在 CreateEdit 页面中创建一个 Datagrid 来显示和管理 n-to-n 关系。但是我不知道如何将 props 传递给 ListDatagrid 以及应该传递什么 props

用于管理名为 caregiver_student 的 Datagrid 的资源,我将其放入我的自定义 restClient 文件中。

基本信息

关系信息

这是我的代码:

<Edit title={<CaregiverTitle />} {...props}>
    <TabbedForm>
        <FormTab label="Personal Info">
            <DisabledInput source="id" />
            <TextInput source="name" />
            <TextInput source="email" />
            <TextInput source="phone" />
            <RadioButtonGroupInput source="account_type" choices={[
                { id: 10, name: 'Caregiver' },
                { id: 20, name: 'Guardian' },
            ]} optionText="name" optionValue="id" />
            <BooleanInput source="status" label="Active"/>
        </FormTab>
        <FormTab label="Relationship">
            <List actions={<RelationActions/>} location={false} title={" "}>
                <Datagrid>
                    <TextField source="id" />
                    <TextField source="name" label="Student"/>
                    <TextField source="relationship" />
                    <EditButton />
                    <DeleteButton />
                </Datagrid>
            </List>
        </FormTab>
    </TabbedForm>
</Edit>

感谢您的帮助!

链接的资源应该包含在ReferenceManyField

您可以在演示中找到完整的示例, 特别是 Customers Edit component

有人发起了 PR,这可能会有所帮助:https://github.com/marmelab/admin-on-rest/pull/744

我有一个类似的页面,其中一个选项卡列出了属于特定 "batchid" 的 "Batchunits"。

<FormTab label="resources.batches.tabs.batchunits">
    <ReferenceManyField addLabel={false} reference="Batchunits" target="batchid">
         <Datagrid bodyOptions={{ stripedRows: true, showRowHover: true}} >
           <TextField source="unitcode" />
           <DateField source="harvested" />
           <BooleanField source="contaminated" label="Contaminated"/>
           <TextField source="note" style={{ maxWidth: '10em', overflow: 'hidden', textOverflow: 'ellipsis', whiteSpace: 'nowrap' }} />
           <EditUnitButton />
         </Datagrid>
    </ReferenceManyField>
</FormTab>

但在此设置中,Formtab 将不接受创建 "button" 来创建另一个资源的记录。例如另一个“Batchunit。创建另一个链接的 Batchunit 将非常有用。不知道该怎么做......