Angular agGrid - 是否可以将 rowSelection 事件传递给 cellRenderer?

Angular agGrid - Is it possible to pass rowSelection event into cellRenderer?

我有一个自定义单选按钮 cellRenderer,我试图在单击某行时将其显示为 selected。

它在直接点击按钮时有效,但我希望它也能在第 select 行 select 上显示,如果用户点击其他地方。

问题是,cellRenderer 不知道它的行何时被单击。 API agGrid 文档只有一个 cellClicked 方法。

有办法吗?

有几种方法可以做到这一点。这是一种方法:

  1. 首先,您可以通过以下事件监听一行是否被点击或选中:rowClickedrowSelected.

在文档中阅读有关这些事件的更多信息: https://www.ag-grid.com/javascript-grid-events/#reference-selection

您可以在 gridOptions 上全局添加这些事件,或者通过使用网格 API 方法在单元格渲染器本身上添加这些事件:addEventListener(您可以在此处阅读更多相关信息: https://www.ag-grid.com/javascript-grid-api/#reference-events)

  1. 捕获到行selection/clicked事件后,可以使用API方法getCellRendererInstances获取单元格渲染器的实例,可以阅读更多关于此实现的信息:https://www.ag-grid.com/javascript-grid-cell-rendering-components/#accessing-cell-renderer-instances

  2. 终于有了renderer的实例了,想怎么设置单选按钮就可以了。例如在渲染器上添加一个方法来改变状态。