创建、编辑页面中的数据网格
Datagrid in Create, Edit page
我想在 Create
、Edit
页面中创建一个 Datagrid
来显示和管理 n-to-n
关系。但是我不知道如何将 props
传递给 List
和 Datagrid
以及应该传递什么 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 将非常有用。不知道该怎么做......
我想在 Create
、Edit
页面中创建一个 Datagrid
来显示和管理 n-to-n
关系。但是我不知道如何将 props
传递给 List
和 Datagrid
以及应该传递什么 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 将非常有用。不知道该怎么做......