微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 react-admin 中为资源添加更多属性

如何解决如何在 react-admin 中为资源添加更多属性

我正在与 reac-admin 合作, 并根据 demo 我有每个资源的索引文件。 例如,这是我对组织资源的索引:

import BusinessIcon from '@material-ui/icons/Business';
import { OrganizationCreate } from './OrganizationCreate';
import { OrganizationEdit } from './OrganizationEdit';
import { OrganizationList } from './OrganizationList';
import { OrganizationShow } from './OrganizationShow';

const resource = {
    list: OrganizationList,create: OrganizationCreate,edit: OrganizationEdit,show: OrganizationShow,icon: BusinessIcon,};

export default resource;

除了列表、创建、编辑和显示之外,是否可以向资源添加自定义操作? 我的意思是,例如,我希望我的资源也支持印刷或任何其他行动。

类似:

  const resource = {
    list: OrganizationList,print: OrgnaizationPrint,};

解决方法

资源允许为预定义的路由定义组件。如果您想为不由 react-admin 处理的路由添加更多组件,您可能需要覆盖 <Admin customRoutes> 属性。

要注册您自己的路由,请创建一个返回 react-router-dom <Route> 组件列表的模块:

// in src/customRoutes.js
import * as React from "react";
import { Route } from 'react-router-dom';
import Foo from './Foo';
import Bar from './Bar';

export default [
    <Route exact path="/foo" component={Foo} />,<Route exact path="/bar" component={Bar} />,];

然后,将此数组作为 <Admin> 组件中的 customRoutes 属性传递:

// in src/App.js
import * as React from "react";
import { Admin } from 'react-admin';

import customRoutes from './customRoutes';

const App = () => (
    <Admin customRoutes={customRoutes} dataProvider={simpleRestProvider('http://path.to.my.api')}>
        ...
    </Admin>
);

export default App;

取自 https://marmelab.com/react-admin/Admin.html#customroutes

处的 react-admin 文档

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。