Использование SimpleForm внутри DataGrid и ReferenceManyField | реагировать-администратор - PullRequest
2 голосов
/ 01 мая 2020

На самом деле я пытаюсь использовать SimpleForm внутри Datagrid и ReferenceManyField, чтобы показать объединенную таблицу, а также изменить эти данные. Отображение данных и удаление работает довольно хорошо, но каждый раз, когда я нажимаю Сохранить, я получаю следующую ошибку:

`

Uncaught TypeError: onSave.current is not a function
    at submit (FormWithRedirect.js:86)
    at Object.submit (final-form.es.js:1296)
    at handleSubmit (react-final-form.es.js:264)
    at FormWithRedirect.js:121
    at handleClick (SaveButton.js:57)

`

Мой фактический код:

<Edit {...props}>
        <SimpleShowLayout>
            <DateField source="date" />
            <ReferenceField label="Location" source="LocationID" reference="locations">
                <TextField source="name" />
            </ReferenceField>
            <ReferenceField label="Employee" source="EmployeeID" reference="employees">
                <TextField source="first_name" />
            </ReferenceField>
            <ReferenceManyField
                label="Customers"
                reference="bookings"
                target="data"
            >
                <Datagrid>
                    <SimpleForm>
                        <TextInput label="Vorname" source="customer.first_name" />
                        <TextInput label="Nachname" source="customer.last_name" />

                        <BooleanInput label="Anwesend" source="present" />
                    </SimpleForm>
                </Datagrid>
            </ReferenceManyField>
        </SimpleShowLayout>
    </Edit>

1 Ответ

0 голосов
/ 01 мая 2020

Согласно документам SimpleForm следует использовать с Create и Edit родительским компонентом, так как они проходят save и saving до SimpleForm.

source

Вы также можете попробовать написать свою пользовательскую функцию onSave и управлять saving состоянием.

<SimpleForm save={onSave} saving={saving}>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...