You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GridJS搜索完成触发事件是什么?如何获取其他事件及查询文档

GridJS 事件访问指南

一、事件文档位置

GridJS的官方文档核心API板块下的Events章节,包含了所有支持的事件类型、触发时机及回调参数说明,直接在官方文档内搜索"Events"即可定位。

二、搜索完成相关事件

GridJS没有直接命名为「搜索完成」的事件,但可以通过以下方式捕捉搜索结束时机:

  • 监听filter事件:每次搜索(过滤)操作完成后会触发该事件,回调参数可获取当前过滤条件,示例:
grid.on('filter', (filters) => {
  // 此时搜索已完成,filters为当前生效的过滤条件数组
  console.log('搜索完成,过滤条件:', filters);
});

该事件是GridJS原生触发,能精准对应搜索操作的结束节点,无需额外监听DOM事件。

三、行编辑相关事件

行编辑功能依赖gridjs-plugin-edit插件,需先安装并启用插件,之后可监听以下编辑相关事件:

  • cellEdited:单元格编辑完成后触发,可获取编辑的单元格位置、新旧值:
grid.on('cellEdited', (data) => {
  console.log('单元格编辑完成:', {
    行索引: data.row,
    列索引: data.column,
    旧值: data.oldValue,
    新值: data.newValue
  });
});
  • rowUpdated:整行编辑提交后触发,回调返回更新后的完整行数据:
grid.on('rowUpdated', (row) => {
  console.log('行已更新:', row);
});

注意:未启用编辑插件时,这些事件不会触发。

四、React环境下的事件绑定注意事项

在React组件中,需确保Grid实例初始化完成后再绑定事件,推荐在useEffect钩子中操作,避免因实例未挂载导致绑定失败,示例:

import { useEffect, useRef } from 'react';
import { Grid } from 'gridjs-react';
import 'gridjs/dist/theme/mermaid.css';
import { EditPlugin } from 'gridjs-plugin-edit';

function MyGrid() {
  const gridRef = useRef(null);

  useEffect(() => {
    if (gridRef.current) {
      const gridInstance = gridRef.current.grid;
      // 绑定搜索完成事件
      gridInstance.on('filter', (filters) => {
        console.log('搜索完成', filters);
      });
      // 绑定单元格编辑事件
      gridInstance.on('cellEdited', (data) => {
        console.log('单元格编辑完成', data);
      });
    }
  }, []);

  return (
    <Grid
      ref={gridRef}
      columns={['Name', 'Email', 'Age']}
      data={[
        ['John', 'john@example.com', 25],
        ['Jane', 'jane@example.com', 30]
      ]}
      plugins={[
        EditPlugin({ enabled: true })
      ]}
    />
  );
}

export default MyGrid;

内容的提问来源于stack exchange,提问作者Gajanan Gaikwad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 09:25:19