Samuel Sia Boonleong
Samuel Sia Boonleong

Reputation: 21

how to get data from form to redirect SimpleForm edit

I have a react component below. and I want to redirect with the dataset response from dataset_id. How to i get the data to put into the redirect field for simple form ?

export const qnaEdit = props => {
    return (
    <Edit {...props}>
        <SimpleForm

        redirect="data_sets">
            <TextInput disabled source="id" />
            <TextInput datasetid="dataset_id" />
            <TextInput source="question" />
            <TextInput multiline source="short_answer" />
            {/* <RichTextField multiline source="url" /> */}
        </SimpleForm>
    </Edit>
);} 

Upvotes: 1

Views: 115

Answers (1)

Denis Kuratovich
Denis Kuratovich

Reputation: 287

RedirectTo can be a function, not only string, so it should help.

if (typeof redirectTo === 'function') {
    return redirectTo(basePath, id, data);
}

https://github.com/marmelab/react-admin/blob/master/packages/ra-core/src/util/resolveRedirectTo.ts

Documentation: https://marmelab.com/react-admin/CreateEdit.html#redirection-after-submission

You can also pass a custom route (e.g. “/home”) or a function as redirect prop value. For example, if you want to redirect to a page related to the current object:

// redirect to the related Author show page
const redirect = (basePath, id, data) => `/author/${data.author_id}/show`;

export const PostEdit = (props) => {
    <Edit {...props}>
        <SimpleForm redirect={redirect}>
            ...
        </SimpleForm>
    </Edit>
);
This affects both

Upvotes: 2

Related Questions