如何从表单获取数据以重定向SimpleForm编辑

问题描述 投票:1回答:1

我下面有一个react组件。我想使用来自dataset_id的数据集响应进行重定向。我如何将数据放入简单形式的重定向字段?

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>
);} 
reactjs react-admin
1个回答
2
投票

RedirectTo可以是一个函数,不仅是字符串,因此应该有帮助。

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

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

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

您还可以传递自定义路由(例如“ / home”)或作为重定向支持值的函数。例如,如果您想重定向到与当前对象相关的页面:

// 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
© www.soinside.com 2019 - 2024. All rights reserved.