Ag-grid Angular 如何获取 Header 上的点击事件?

Ag-grid Angular How to get click events on Header?

有没有什么方法可以在 Angular 中的 ag-grid 的 header 上获得点击事件通知?

<ag-grid-angular>-组件提供多个单元格点击事件(例如 cellDoubleClicked)。 header 次点击不会触发这些事件,我无法找到任何特定于 header 次点击的事件。

This question 过去已经有人问过但没有回答,所以我不认为,有任何内置的方式。

为什么我需要这个?

我正在与另一个库合作,为应用程序提供上下文菜单,但我想区分 header 和常规单元格的不同上下文菜单。所以只听默认的 angular 点击事件(在整个网格组件上)没有帮助,因为我需要被点击的 column/cell.

作为参考,我目前使用的是 ag-grid 15.0.0,但我在当前文档中也没有找到任何内容。

我认为如果您定义 header 组件(请参阅:Header Components),这可能是可行的。在 header 组件的模板中,您可以创建一个 div 元素(或任何其他容器元素)并定义 (click) 事件处理程序。这对我有用:

<div (click)='onHeaderClick($event)'>
  <p>Name</p>
</div>

(当然,您可能希望将参数中的 header 标题传递给 agInit() 方法,因为您不想创建单独的 header 组件每 header!)

您基本上可以收听 "sortChanged" 事件,当您单击默认 header 时,ag-grid 会提供该事件。