简体   繁体   English

鼠标上的 Reactstrap 自动下拉菜单

[英]Reactstrap Auto Dropdown Menu On Mouse Hower

I am trying to implement a sliding dropdown menu using reactstarap, but couldn't find any supporting document or code.我正在尝试使用 reactstarap 实现滑动下拉菜单,但找不到任何支持文档或代码。 Bellow is my sample menu and what I am trying to achieve is an auto sliding dropdown menu on mouse hover action. Bellow 是我的示例菜单,我想要实现的是鼠标悬停操作时的自动滑动下拉菜单。

 <div>
  <Nav navbar>
    <NavItem>
      <Link className="nav-link" to="/">Home</Link>
    </NavItem>

    <ButtonDropdown nav inNavbar isOpen={dropIsOpen} onClick={handleDropdown}>
      <DropdownToggle nav caret className="nav-link dropdown-toggle">Services</DropdownToggle>
      <DropdownMenu className="dropdown-menu">
        <DropdownItem>
          <Link className="dropdown-item" to="/services/service1">Service1</Link>
        </DropdownItem>
        <DropdownItem>
          <Link className="dropdown-item" to="/services/service2">Service2</Link>
        </DropdownItem>
        <DropdownItem>
          <Link className="dropdown-item" to="/services/service3">Service3</Link>
        </DropdownItem>
        <DropdownItem>
          <Link className="dropdown-item" to="/services/service4">Service4</Link>
        </DropdownItem>
      </DropdownMenu>
    </ButtonDropdown>

    <NavItem>
      <Link className="nav-link" activeClassName="active" to="/our-products">Products</Link>
    </NavItem>

    <NavItem>
      <Link className="nav-link" activeClassName="active" to="/our-clients">Clients</Link>
    </NavItem>

    <NavItem>
      <Link className="nav-link" activeClassName="active" to="/about-us">About Us</Link>
    </NavItem>

    <NavItem>
      <Link className="nav-link" activeClassName="active" to="/contact-us">Contact Us</Link>
    </NavItem>

  </Nav>
</div>

This dropdown only works with a mouse click, and there are no built-in methods available with reactstrap to achieve it on the mouse hover, is there a way to achieve this using pure CSS?此下拉列表仅适用于鼠标单击,并且 reactstrap 没有可用的内置方法来在鼠标悬停时实现它,有没有办法使用纯 CSS 来实现这一点?

Of course you can use CSS, but it's possible to do it on React by using Synthetic Events:当然你可以使用 CSS,但也可以通过使用合成事件在 React 上做到这一点:

https://reactjs.org/docs/events.html#mouse-events https://reactjs.org/docs/events.html#mouse-events

You do not only have onClick events, you have the following list available:您不仅有 onClick 事件,还有以下可用列表:

onClick onContextMenu onDoubleClick onDrag onDragEnd onDragEnter onDragExit
onDragLeave onDragOver onDragStart onDrop onMouseDown onMouseEnter onMouseLeave
onMouseMove onMouseOut onMouseOver onMouseUp

For your case use:对于您的案例使用:

onMouseOver

    <ButtonDropdown nav inNavbar isOpen={dropIsOpen} onMouseOver={handleDropdown}>

An example on W3C web of onmouseover events. W3C 网络上的 onmouseover 事件示例。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM