ag-grid - 当我们在编辑模式下从一个单元格导航到另一个单元格时是否触发了事件 - ag grid
问题描述
我一直在使用 Ag 网格社区和企业版 - 版本 21。我有一个用例,每次单元格的值发生变化时我都需要调用一个 api。我知道在单个单元格编辑模式的情况下,在每个单元格中完成编辑后会触发 onCellValueChanged 事件。但我使用的是全行编辑模式。因此,在我的情况下,onCellValueChanged 事件将在所有列的行编辑结束时触发。但我正在寻找一个事件,该事件将在每个单元格被编辑后以及我们导航到下一个单元格时调用。我搜索了 ag 网格文档,但找不到任何此类事件。不确定我是否遗漏了什么。任何帮助将非常感激。提前致谢。干杯!
解决方案
如果您假设用户将使用快捷方式移动到下一个/上一个单元格,则可以这样做。在单元格之间跳转的默认快捷键是Tab
和Shift
+ Tab
。所以实现是监听onCellKeyDown
事件来知道用户何时在编辑器单元格之间跳转,并用更新后的值调用API
<AgGridReact
editType="fullRow"
onCellKeyDown={(e) => {
const TAB_KEY = 9;
const getValue = () =>
e.api
.getCellEditorInstances({ rowNodes: [e.node] })
.map((instance) => instance.eInput.value);
if (e.event.shiftKey) {
if (e.event.keyCode === TAB_KEY) {
console.log("Jump to previous editor");
console.log(getValue());
}
} else if (e.event.keyCode === TAB_KEY) {
console.log("Jump to next editor");
console.log(getValue());
}
}}
{...}
/>
现场示例
打开控制台查看更改
推荐阅读
- java - 使用实体图从主表和子表中获取数据的 JPA 标准查询
- spring-boot - 如何在spring boot中请求完整的url(非默认)并打印响应
- javascript - 如何通过 JavaScript 添加 Django 表单字段?
- google-sheets - 谷歌表格图表/柱形图中的多行标签
- json - Angular Unexpected token c in JSON at JSON.parse 的位置 0 时需要一个字符串
- jquery - 当多个条目具有相同名称时绘制 sankey
- javascript - Firebase 电子邮件身份验证标记为危险
- php - 使用 fmod() 查找 2 个浮点数之间的提醒
- ruby-on-rails - 对于 Searchkick 4.3.1 和 ES 7.4,类型始终为 _doc
- c# - 如何从控制器(.Net 3.1 和 React SPA 模板)中的请求中获取当前用户或当前用户 ID?