react-admin文档将资源的默认路由解释为:
/posts/:id
映射到PostEdit
/posts/:id/show
映射到PostShow
我希望我的应用默认为查看状态,并且仅当用户单击编辑图标时才允许编辑。但是,所有参考链接的默认设置都指向/resource/:id
。
是否有一种交换路由的方法,例如将/resource/:id
映射到Show并将/resource/:id/edit
用于Edit?还是可以将参考链接更改为/resource/:id/show
?
答案 0 :(得分:0)
这可能不完全是您要寻找的东西,但是可以切换默认操作,因此单击项目可能会导致show
而不是edit
:
https://marmelab.com/react-admin/List.html#the-datagrid-component
export const PostList = (props) => (
<List {...props}>
<Datagrid rowClick="show">
...
</Datagrid>
</List>
);
答案 1 :(得分:0)
通过将link="show"
添加到ReferenceField
,可以将引用链接设置为引用“显示”。
请参见https://github.com/marmelab/react-admin/issues/247#issuecomment-287819508
答案 2 :(得分:0)
您可能想创建一些符合您需求的自定义路线,将其重定向到自定义的Create / Show组件,例如
const customRoutes = [
<Route key="editPost" exact path="/posts/:id" component={PostEdit} />,
<Route key="showPost" exact path="/posts/:id/show" component={PostShow} />,
];
function App() {
return (
<Admin
...
customRoutes={customRoutes}
>
...
</Admin>
)
}