【问题标题】:Add a top level menu in react-admin在 react-admin 中添加顶级菜单
【发布时间】:2018-10-09 15:49:23
【问题描述】:

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

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

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

【问题讨论】:

  • 顶级菜单是什么意思?类似于 appbar 内的 usermenu 的菜单?
  • material-ui.com/api/menu这样的菜单。
  • 您提供的链接显示了一个material-ui菜单的道具,不清楚您要创建什么类型的菜单。

标签: admin-on-rest react-admin


【解决方案1】:

假设您想在 react-admin 中创建一个子菜单,您需要按照 material-ui 中的nested list 技术创建一个自定义子菜单组件。
您还需要按照 react-admin 的 documentation 中的说明创建和使用自定义菜单。

【讨论】:

  • 谢谢你,但它的侧边栏菜单。怎么把这个组件放到appbar中?
  • 嗯,这超出了 react-admin 的功能和设计,所以我想你可以尝试创建一个自定义 AppBar 嵌入 material-ui (material-ui.com/demos/menus) 中描述的菜单之一,但我不确定它是否会起作用或您如何去做。
【解决方案2】:
  1. 官方提供的方式来自react-admin的demo:https://github.com/marmelab/react-admin/blob/master/examples/demo/src/layout/Menu.tsx(related answer)

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

【讨论】:

    【解决方案3】:

    由于kxo 上面提到的ra-tree-menu 包似乎运行不佳,我不得不为此开发一个新包,它可以解决用例并进一步提供更多的易用性和灵活性为了达到目的。

    您可以查看: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;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-08-05
      • 2020-03-21
      • 1970-01-01
      • 1970-01-01
      • 2021-08-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多