如何在管理菜单中同时使用 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>
);
所以我的管理员拥有我需要的所有资源,而且效果很好。 但我还需要一个小菜单项,它可以用一个按钮打开一个简单的表单。
我创建了 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>
);