在 react-admin 中添加顶级菜单

Add a top level menu in react-admin

如何在标题和用户菜单之间的应用栏中添加顶级菜单?

我试过类似的方法,但它不起作用:

const MyAppBar = props => <AppBar {...props} userMenu={<MyUserMenu />} ><MyTopMenu /></AppBar>

假设您想在 react-admin 中创建一个子菜单,您需要按照 material-[=16= 中的 nested list 技术创建一个自定义子菜单组件].
您还需要创建和使用自定义菜单,如 react-admin 的 documentation.

中所述
  1. react-admin的demo提供的官方方式:https://github.com/marmelab/react-admin/blob/master/examples/demo/src/layout/Menu.tsx (related answer)

  2. 检查这个专用于此目的的新插件:ra-tree-menu

由于 kxo 上面提到的 ra-tree-menu 包似乎没有很好地工作,我不得不求助于开发一个新的包来解决 use-case并进一步为实现该目的提供更多的便利性和灵活性。

你可以看看这个:ra-treemenu。使用它的一个简单示例如下:

// In App.js
import * as React from 'react';
import { Admin, Resource, Layout } from 'react-admin';
/* Import TreeMenu from the package */
import TreeMenu from '@bb-tech/ra-treemenu';
 
const App = () => (
    <Admin layout={(props) => <Layout {...props} menu={TreeMenu} />} >
        {/* Dummy parent resource with isMenuParent options as true */}
        <Resource name="users" options={{ "label": "Users", "isMenuParent": true }} />
        {/* Children menu items under parent */}
        <Resource name="posts" options={{ "label": "Posts", "menuParent": "users" }} />
        <Resource name="comments" options={{ "label": "Comments", "menuParent": "users" }} />
        {/* Dummy parent resource with isMenuParent options as true */}
        <Resource name="groups" options={{ "label": "Groups", "isMenuParent": true }} />
        {/* Children menu items under parent */}
        <Resource name="members" options={{ "label": "Members", "menuParent": "groups" }} />
    </Admin>
);
 
export default App;