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
相关产品推荐
相关产品推荐

