AG Grid 工具提示需要很长时间才能呈现
Posted
技术标签:
【中文标题】AG Grid 工具提示需要很长时间才能呈现【英文标题】:AG Grid tooltip takes long time to render 【发布时间】:2019-09-12 07:13:57 【问题描述】:我在关注this example 并发现表格需要相当长的时间来呈现工具提示。它似乎没有任何延迟,我尝试了 defaultBrowserTooltip 和自定义的,但它们都很慢。对此有什么建议吗?
P/S:我正在使用 React
我尝试过的一些方法:
tooltipField: 'myTooltipField'
tooltip: (value: string): string => value
【问题讨论】:
您可能需要重新考虑并提供一个 MVCE(请参阅:***.com/help/minimal-reproducible-example),而不是为此提供赏金。这也可以帮助您更好地理解问题。就像现在一样,根本没有什么可做的。问题可能是任何问题,包括开发人员机器速度慢的地狱...... @konqi 这个问题出现在链接库演示页面中,不是特定设置所固有的。 【参考方案1】:从 Ag-grid 23.0.0 开始,这可以通过 tooltipShowDelay
configuration option 进行配置。
const gridOptions =
tooltipShowDelay: 0; // milliseconds, default value 2000ms
;
对于早期版本,Ag-grid 使用名为TooltipManager
的内部服务not configurable。
默认延迟为 2 秒:
private readonly MOUSEOVER_SHOW_TOOLTIP_TIMEOUT = 2000;
对于这些早期版本,您可以手动从 bean bag 获取服务引用并覆盖它,但对于 23.0.0 及更高版本,这不是必需的。
private onGridReady(params: GridReadyEvent)
// NB! This is unsupported and may break at any time
try
(params.api as any).context.beanWrappers.tooltipManager.beanInstance.MOUSEOVER_SHOW_TOOLTIP_TIMEOUT = 0;
catch (e)
console.error(e);
【讨论】:
这行得通。我面临的另一个问题是,最初出现后似乎根本没有延迟。因此,如果我将延迟设置为 500 毫秒,则这只适用于第一次。当我将鼠标移到带有工具提示的另一个元素上时,它将立即显示,而不是延迟 500 毫秒。这很烦人。不知道有没有办法解决这个问题? @FeCH 我自己没有研究过,因为我们不需要这种用法,您可以查看the tooltipManager.ts source 了解更多实现细节。 在 v23.0 中已弃用 这个问题怎么样?你知道有什么解决办法吗? ***.com/questions/62047444/…【参考方案2】:现在有一个名为 tooltipShowDelay
的属性,它包含在 2020 年 3 月 17 日发布的版本 23.0.0 中。Docs https://www.ag-grid.com/javascript-grid-properties/#miscellaneous 和 changelog https://www.ag-grid.com/ag-grid-changelog/?fixVersion=23.0.0
【讨论】:
【参考方案3】:这是直接从用户 demostheneslld “借来”的,他对 ag-grid GitHub feature request 发表了评论,但您可以在网格选项对象上设置 enableBrowserTooltips: true
,然后工具提示将由浏览器本地显示,而不是格式化通过 ag-grid。然后工具提示几乎立即出现。
【讨论】:
在 chrome 上对我不起作用。它只是改变了工具提示的样式,但似乎仍然需要大约 2 秒。【参考方案4】:现在发布了一个新的道具:
tooltipShowDelay=0
上面的代码将立即显示工具提示。 More Info
【讨论】:
以上是关于AG Grid 工具提示需要很长时间才能呈现的主要内容,如果未能解决你的问题,请参考以下文章