reactjs - 我如何在 react.js 组件中使用 Bootstrap 5 Popover?

标签 reactjs dom react-bootstrap virtual-dom bootstrap-5

我在 react 中使用 CDN 的 Bootstrap 5。我有一个组件将在其中一个 react 组件中使用 Popover。因此,根据文档,它说“您必须在 bootstrap.js 之前包含 popper.min.js 或使用包含 Popper 的 bootstrap.bundle.min.js/bootstrap.bundle.js 才能使弹出窗口工作!”

并且还可以使用给定的 javascript 代码初始化页面上的所有弹出窗口:

var popoverTriggerList = [].slice.call(document.querySelectorAll('[data-bs-
toggle="popover"]'))
var popoverList = popoverTriggerList.map(function (popoverTriggerEl) {
  return new bootstrap.Popover(popoverTriggerEl)
})

但我无法在我的 React 组件中的 useEffect 中使用它,因为它返回的是“bootstrap.Popover(popoverTriggerEl)”对象,该对象在我的 React 组件中未定义。

请问有人可以指导我吗?

最佳答案

现在Bootstrap 5 is modular ,您可以导入组件,或直接从 bootstrap...

引用它们
var popover = new bootstrap.Popover(document.querySelector('#myButton'), options)

所以要将它与 React useEffect Hook 一起使用,您可以这样做...

function PopoverDemo() {
  const popoverRef = useRef()
  useEffect(() => {
    var popover = new bootstrap.Popover(popoverRef.current, {
        content: "Hello popover content!",
        title: "My Popover"
    })
  })

  return (
    <div className="p-4">
        <button className="btn btn-lg btn-danger" ref={popoverRef}>
            Click to toggle popover
        </button>
    </div>
  )
}

Codeply

关于reactjs - 我如何在 react.js 组件中使用 Bootstrap 5 Popover?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65464253/

相关文章:

reactjs - 如何禁用来自 React Native API 的某些特定项目的可触摸不透明度

java - 在 Java 中查找没有正确命名空间的节点中的元素

javascript - 使用 React Bootstrap 自定义 Card.Header

javascript - React Bootstrap 全屏 Prop 不起作用

reactjs - 如何在 react Bootstrap 的选项卡内添加 if else

javascript - 为什么 React App 在网页上出现两次?

javascript - 如何检查富文本编辑器内容是否为空?

javascript - 当我长按键盘上的某个键时事件输入错误页面

reactjs - React-router:更改查询字符串不会重新安装组件

javascript - 滚动页面时保持页面元素在 View 中