reactjs - Material 用户界面 : drawer with expandable side menu

标签 reactjs menu material-ui side-menu

使用 Material UI,我如何构建一个带有可扩展菜单项的抽屉,例如 material-ui.com 上的菜单项网站?

所以我想要这样的东西: enter image description here

每个菜单项(以粗体显示)都可以展开以显示子菜单项。

如何使用 Material UI 来实现这一点?

最佳答案

你需要一个打开和关闭折叠的功能

const [openCollapse, setOpenCollapse] = React.useState(false);    
 
function handleOpenSettings(){
    setOpenCollapse(!openCollapse);
}

return(
        <Drawer>
            <ListItem button onClick={handleOpenSettings}>
              <ListItemIcon>
                <Settings />
              </ListItemIcon>
              <ListItemText primary="Settings" />
              {openCollapse ? <ExpandLess /> : <ExpandMore />}
            </ListItem>
            <Collapse in={openCollapse} timeout="auto" unmountOnExit>
            <List component="div" disablePadding>
              <ListItem button className={classes.nested}>
                <ListItemIcon>
                  <Settings />
                </ListItemIcon>
                <ListItemText inset primary="Starred" />
              </ListItem>
            </List>
          </Collapse>
        </Drawer>
)

演示 https://material-ui.com/components/lists/#simple-list

关于reactjs - Material 用户界面 : drawer with expandable side menu,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51085379/

相关文章:

html - 我应该在我的菜单中的什么地方添加过渡效果?

javascript - 如何根据从 DOM 接收到的键更新状态数组中的某些对象

reactjs - 在 react 中下载文件

html - Bootstrap 下拉菜单隐藏导航链接

javascript - 使用 MakeStyles 更改 SVG 填充颜色 : how to choose specific IDs in SVG file using Selectors?

javascript - Material UI 模态不工作(React JS)

css - 怎么自定义material UI选择组件?

reactjs - 如何在 immer 回调中调试/记录有用的信息?

reactjs - 从 render 方法调用 React 中的 setState()

javascript - jQuery Menu 如何在 Div 中包含子菜单