reactjs - 如何在反应中使用 bootstrap5 工具提示
问题描述
我已经用引导程序包对项目做出反应
// npm install bootstrap@next
// npm install bootstrap-icons
import 'bootstrap/dist/css/bootstrap.min.css';
import 'bootstrap/dist/js/bootstrap.bundle.min';
import 'bootstrap-icons/font/bootstrap-icons.css'
然后我有工具提示元素
<i className="bi bi-align-center" data-bs-toggle="tooltip" data-bs-placement="top" title="Tooltip on top"></i>
文档说,我们必须执行这个javascript 才能启用引导工具提示
var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'))
var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) {
return new bootstrap.Tooltip(tooltipTriggerEl)
})
所以我将代码放在componentDidMount方法中,在我呈现工具提示的类中
但我收到一个错误
'bootstrap' 未定义 no-undef
或者当我将导入标签调整为
import { bootstrap } from 'bootstrap/dist/js/bootstrap.bundle.min';
我收到另一个错误
Cannot read property 'Tooltip' of undefined
所以我很困惑如何启用这个工具提示?
解决方案
你根本不需要使用 react-bootstrap,因为 Bootstrap 5 现在是 vanilla JavaScript ......
您可以像这样导入 Bootstrap 5 JS 组件(注意 .esm 版本用于模块化导入)...
import { Tooltip } from 'bootstrap.esm.min.js'
那么您可以像这样参考Tooltip ...
var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-
toggle="tooltip"]'))
var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) {
return new Tooltip(tooltipTriggerEl)
})
推荐阅读
- c++ - 有人可以解释为什么程序显示 6 和 4 吗?
- c++ - 为什么不能从 QVector 将项目添加到 QGraphicsScene
? - android - 尝试在空对象引用 getDouble 上调用虚拟方法“double java.lang.Double.doubleValue()”
- reactjs - 设置 twitter 按钮返回 [object Object] 而不是值
- java - 我在这里做错了什么,我该如何纠正?
- python - 将 Gmail 转换为 PDF:HTML 中的嵌入图像
- dart - How to fix cropped shadow in a Horizontal List View in Flutter
- websocket - Julia websockets - 什么是读保护和写保护?
- sql - SQL 到字符串的不同部分 - Oracle SQL
- sql - T-SQL。更好的是:加入然后组或组然后加入