javascript - 如何在 React Bootstrap 上将函数附加到 Dropdown.Toggle?

标签 javascript reactjs react-bootstrap

我试图在单击 React Bootstrap Dropdown.Toggle 时执行一个函数。

我尝试添加如下所示的 onClick ,但这完全破坏了下拉功能,并且在点击时不显示下拉菜单:

<Dropdown>
  <Dropdown.Toggle variant="success" id="dropdown-basic" onClick={myFunction}>
    Dropdown Button
  </Dropdown.Toggle>

  <Dropdown.Menu>
    <Dropdown.Item href="#/action-1">Action</Dropdown.Item>
    <Dropdown.Item href="#/action-2">Another action</Dropdown.Item>
    <Dropdown.Item href="#/action-3">Something else</Dropdown.Item>
  </Dropdown.Menu>
</Dropdown>

是否有任何方法可以保留切换的原始功能,并在单击时仍然执行附加功能?

最佳答案

看起来您正在覆盖内置的 onClick,也许您可​​以将事件监听器附加到 Dropdown 本身并检查它是否是从按钮触发的。

      <Dropdown
        onClick={e => {
          if (e.target.id === "dropdown-basic") {
            //do something
          }
        }}
      >
        <Dropdown.Toggle variant="success" id="dropdown-basic">
          Dropdown Button
        </Dropdown.Toggle>

        <Dropdown.Menu>
          <Dropdown.Item href="#/action-1">Action</Dropdown.Item>
          <Dropdown.Item href="#/action-2">Another action</Dropdown.Item>
          <Dropdown.Item href="#/action-3">Something else</Dropdown.Item>
        </Dropdown.Menu>
      </Dropdown>

关于javascript - 如何在 React Bootstrap 上将函数附加到 Dropdown.Toggle?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62597426/

相关文章:

javascript - Jquery $.each 循环处理数组

reactjs - 如何在事先不知道设备屏幕尺寸的情况下为响应式应用程序执行 SSR?

reactjs - 如何结合RxDB和MobX

javascript - 加载新组件,同时将 href 添加到 url

javascript - 从 Javascript 代码中删除大量 for 循环

javascript - 如何将函数附加到 ng-repeat 的第二个元素

javascript - 使用 jQuery 获取选定行的隐藏列的值

javascript - 在组件中生成随机值时的 Next.js/React 警告

css - 在 React Bootstrap 中将类分配给模式

reactjs - 在reactjs中监听文档的按键