我做了一些自定义导航组件,用于 ag-Grid
.
一旦用户的操作发生,我想关注其中的一个。ag-Grid
的行或单元格,就像用户简单地点击其中一个 ag-Grid
的细胞自己。
所以在这次聚焦之后,下一次我按下一个键,如 Up
Down
Left
Right
它被注册为 ag-Grid
的键盘交互事件 (键盘交互。我们数据表格的核心功能).
用更具体的话来说,就是 navigateToNextCell()
钩子应该在按下方向键后被调用。
怎样才能做到这一点呢?
我试验了一些东西,比如。
gridApi.setFocusedCell(0, 0)
gridApi.dispatchEvent({ type: 'cellFocused', rowIndex, column })
document.querySelector('.ag-root-wrapper').focus()
这些东西都没有用。
聚焦在行节点上是可行的,给定的行索引是 index
:
const rowNode = document.querySelector(`.ag-row[row-index="${index}"] > .ag-cell`)
if (rowNode) {
rowNode.focus()
}