我下面有一个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>
);}
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