如何在管理菜单中同时使用 Resource 和 MenuItem

How can I use both Resource and MenuItem in Admin menu

所以我的管理员拥有我需要的所有资源,而且效果很好。 但我还需要一个小菜单项,它可以用一个按钮打开一个简单的表单。

我创建了 Menu.js,就像这里描述的那样:

https://marmelab.com/admin-on-rest//AdminResource.html#menu

并将其添加到我的管理员。

但在那之后,我只能看到该菜单中的项目,而看不到资源。 我怎样才能同时拥有它们:该菜单中的资源和菜单项?

如文档所示,您目前必须自己添加它们

查看框架的 Menu.js 以获取灵感。

  • 您需要遍历传入的 resources 参数并为每个资源创建 <MenuItem>s
  • 添加您自己的 <MenuItem>s
  • 如果您使用身份验证
  • ,请添加 {logout}

即:

import React from 'react';
import MenuItem from 'material-ui/MenuItem';
import { Link } from 'react-router-dom';

export default ({ resources, onMenuTap, logout }) => (
    <div>
        { resources.map(resource => {
          return <MenuItem
            key={resource.name}
            containerElement={<Link to={`/${resource.name}`} />}
            primaryText={resource.options.label}
            onTouchTap={onMenuTap}
          />
        })}

        <MenuItem key="download" containerElement={<Link to="/download" />} primaryText="Download" onTouchTap={onMenuTap} />

        {logout}
    </div>
);