【问题标题】:How to make a Semantic Ui React Sidebar With Dropdown如何使用下拉菜单制作语义 UI React 侧边栏
【发布时间】:2021-07-01 06:27:19
【问题描述】:

我正在尝试实现 `Semantic Ui React Sidebar With Dropdown

我想要这样:

我知道有很多要求,但我希望你能帮助我...我正在尝试在我的菜单上添加一个下拉菜单

这是我当前的侧边栏代码:

import React from 'react';
import cn from 'classnames';
import { Icon, Menu } from 'semantic-ui-react';
import { Link } from 'react-router-dom';

export default function Sidebar(props) {
  const classes = cn(
    'ui',
    'sidebar',
    'push',
    'left',
    'inverted',
    'menu',
    'vertical',
    'animating',
    { visible: props.toggleMenu }
  );

  return (
    <div className={classes}>
      <Menu.Item as={Link} to="/admin">
        Dashboard <Icon name="home" />
      </Menu.Item>
      <Menu.Item as={Link} to="/admin/orders">
        Orders
      </Menu.Item>
    </div>
  );
}

它看起来像这样:

顺便说一句,这是我获得侧边栏代码的地方...https://react.semantic-ui.com/modules/sidebar/

帮助新手?提前非常感谢!!!

【问题讨论】:

  • 请添加密码框
  • 好的我试试谢谢你的快速回复
  • 遗憾的是我不能 :(...我希望我提供的代码足够我还添加了一个链接,基于我的侧边栏
  • 它基本上是一个 css 修复,但个人没有工作示例,我无法为您提供更多帮助。
  • 分享链接

标签: reactjs menu semantic-ui sidebar


【解决方案1】:

检查this codesandbox,它实现了基本的展开/折叠功能但没有图标。 您可以使逻辑适应您的代码。

主要思想是将展开/折叠的菜单存储在您的状态

const [expandState, setExpandState] = useState({});

并根据它们的状态,显示隐藏子菜单项。

  <Menu.Item as={Link} to="/admin">
    <i className="fa fa-home" />
    Dashboard
    <span
      style={{ float: "right" }}
      onClick={() =>
        setExpandState({
          ...expandState,
          dashboard: !expandState.dashboard
        })
      }
    >
      Expand/Collapse
    </span>
    {expandState.dashboard ? (
      <Menu.Item as={Link} to="/admin/orders">
        Orders2
      </Menu.Item>
    ) : null}
  </Menu.Item>

【讨论】:

  • @xAtifx 这就是为什么代码框在这些情况下总是很有帮助的原因 :)
  • 我是新的堆栈溢出,所以有时我没有提供太多细节
  • 这在我的帖子中没有问题,但你知道如何在点击时制作平滑的下拉菜单吗?不回答也没关系
  • 嗯,我猜是过渡
【解决方案2】:

将图标向左浮动

    <Icon name='home' style={{float : "left"}}/>

你可以使用css

***请检查班级名称***


    i {
      float: left;
      margin-right: 12px !important;
    }
    the menu item itself just becomes an a element
    
    a {
      text-align: center;
      line-height: 40px;
    }

【讨论】:

  • 感谢图标已修复,但这里的主要问题是下拉菜单,我没有任何下拉菜单
  • 兄弟,我真的很讨厌人们只是在我问的时候投票给我。一个问题你可以适当地问我来调整我的帖子:(
  • 我没有这样做兄弟!
  • 哦,抱歉,您还是喜欢投票:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-02-20
  • 1970-01-01
  • 1970-01-01
  • 2019-12-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多