如何使react-admin资源路由默认显示而不是编辑?

时间:2018-11-29 22:45:50

标签: react-admin

react-admin文档将资源的默认路由解释为:

  • /posts/:id映射到PostEdit
  • /posts/:id/show映射到PostShow

我希望我的应用默认为查看状态,并且仅当用户单击编辑图标时才允许编辑。但是,所有参考链接的默认设置都指向/resource/:id

是否有一种交换路由的方法,例如将/resource/:id映射到Show并将/resource/:id/edit用于Edit?还是可以将参考链接更改为/resource/:id/show

3 个答案:

答案 0 :(得分:0)

这可能不完全是您要寻找的东西,但是可以切换默认操作,因此单击项目可能会导致show而不是edithttps://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>
  )
}

来源:https://marmelab.com/react-admin/Admin.html#customroutes