当 ajax 响应到达时,我使用此设计来更新工具提示中的文本。
let element = document.getElementById('idElement');
const tooltipElement = bootstrap.Tooltip.getOrCreateInstance(element)
tooltipElement.setContent({'.tooltip-inner': 'New text'})
这段代码有效。但更新的时候这个提示逐渐消失又出现。如何在不闪烁的情况下更新工具提示内容?也许,您需要以某种方式在更新阶段禁用动画或使用其他方法来更新工具提示。完全禁用动画是不合适的。引导程序 5.3.0-alpha3
目前看来,在 Bootstrap 5 中切换工具提示实例动画(不更改全局设置)的唯一方法是通过
_config.animation
. 在这种情况下:演示,以及引导我们选择拐杖选项的逻辑:
根据Bootstrap 5.3文档(回答时的当前版本),可以通过更改数据属性来控制属性值,即 立即采用标准的、明显的路径:
,但事实证明,在运行时更改数据属性没有任何效果……引导程序仍然保持原来的样子💩。如果我们查看框架代码,我们会发现在显示工具提示时,仅考虑内部配置对象,而不尝试读取元素的数据属性。这就是第 240 行
animation
方法中使用的参数值 getter的内部实现方式:show
(有一个方法
_getConfig
可以读取它,但实际上显示时并没有调用它🤷)因此:由于框架中有关 JS API(和/或其官方网站上的文档)的缺陷,通过脚本更改 Tooltip 组件配置的唯一选择是覆盖无证财产
_config
。通过 hack 的解决方案当然是不好的,但是没有其他选择......而且它似乎比双重调用内部解决方案更邪恶
_getConfig
,它执行更多操作,因此可能会产生不需要的副作用(例如,我假设title
它也会覆盖工具提示)。