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 工具提示需要很长时间才能呈现的主要内容,如果未能解决你的问题,请参考以下文章

在 ag-grid 中处理长时间排序(纯 JS)

修改 AG-grid cell 工具提示的 z-index

禁用“JSFL 脚本长时间运行”提示

检测需要很长时间的 node.js http.get 调用

角度Web应用程序需要很长时间才能加载

将视图插入表格 - 视图不需要很长时间才能运行 - 插入需要很长时间