我试图在按钮上使用引导工具提示来显示完整的信息。但这并没有奏效。没有显示工具提示
下面是我的react代码:
<button type="button" ref="data" value={this.props.data} onClick={this.submit} className="btn btn-default btn-block" data-toggle="tooltip" data-placement="top" title={ this.props.data }>
{ this.props.data.length > 20 ?
this.props.data.substring(0, 20)+'...' : this.props.data }
</button>
我甚至尝试使用bootstrap的javascript方法包括它,如:
<script>
$(function () {
$('[data-toggle="tooltip"]').tooltip()
})
</script>
我该怎么做?谢谢你. .
我只能在没有演示的情况下猜测,您在文档准备就绪时调用.tooltip
,但在组件实际呈现之前。
试题:
componentDidMount: function() {
this.attachTooltip();
},
componentDidUpdate: function() {
this.attachTooltip();
},
attachTooltip: function() {
$(this.refs.data).tooltip();
// Or for React <0.14 -
// $(this.refs.data.getDOMNode()).tooltip();
}
PS考虑给你的按钮ref一个比'data'更有意义的名字
试着用这个:
data-html="true"
在按钮标签内
1。
const $ = window.$;
2。调用componentDidMount函数
componentDidMount() {
$('[data-toggle="tooltip"]').tooltip();
}
componentDidUpdate() {
$('[data-toggle="tooltip"]').tooltip();
}
3。使用以下属性
data-toggle="tooltip"
title="Main PDF"
@Swapnil我也有同样的问题,得到了工具提示,但没有css,然后发现必须初始化工具提示,所以我这样做
componentDidMount() {
window.$(this.refs.test).tooltip();
}
In my textbox, I have reference attribute like ref='test' and initialized tooltip..viola It worked for me.. Hope it helps u..
导入jQuery在componentDidMount(),
componentDidMount() {
const script = document.createElement('script');
script.src = 'https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js';
script.async = true;
document.body.appendChild(script);
}
和添加窗口。$转换为const函数,
const $ = () => window.$;
然后你可以使用工具提示,比如
$(function () {
$('[data-toggle="tooltip"]').tooltip();
});
我试图在我的一个react.js项目中使用bootstrap5的工具提示,并且很难实现它。然后,我找到了一个帮助我的解决方案。我来告诉你我是怎么解决的。
功能组件
- 首先,我安装了bootstrap到我的项目
yarn add bootstrap
,然后添加了popper的yarn add @popperjs/core
。 - 在
app.js
文件中导入import { Tooltip } from "bootstrap";
。 - 然后创建一个
useEffect
并将此代码添加到其中。
var tooltipTriggerList = [].slice.call(
document.querySelectorAll('[data-bs-toggle="tooltip"]')
);
tooltipTriggerList.map(function (tooltipTriggerEl) {
return new Tooltip(tooltipTriggerEl);
});
希望它能帮助你解决这个问题。