Ag grid Ag网格行拖放-无法读取属性';forEach&x27;未定义的

Ag grid Ag网格行拖放-无法读取属性';forEach&x27;未定义的,ag-grid,ag-grid-angular,ag-grid-react,Ag Grid,Ag Grid Angular,Ag Grid React,在我们的一个react网站上,我们实现了ag网格,并启用了行分组和行拖动功能 当尝试将一行从组1拖动到组50(远处的组)时,自动拖动滚动发生,然后我在Aggrid js文件中生成错误。 下面是来自控制台的堆栈跟踪- ag grid community.cjs.js:26975未捕获类型错误:无法读取未定义的属性“forEach” 在RowDragFeature.webpackJsonp../node_modules/ag-grid community/dist/ag-grid-community

在我们的一个react网站上,我们实现了ag网格,并启用了行分组和行拖动功能

当尝试将一行从组1拖动到组50(远处的组)时,自动拖动滚动发生,然后我在Aggrid js文件中生成错误。 下面是来自控制台的堆栈跟踪-

ag grid community.cjs.js:26975未捕获类型错误:无法读取未定义的属性“forEach”
在RowDragFeature.webpackJsonp../node_modules/ag-grid community/dist/ag-grid-community.cjs.js.RowDragFeature.stoplaging(ag-grid community.cjs.js:26975)
位于RowDragFeature.webpackJsonp../node_modules/ag-grid community/dist/ag-grid-community.cjs.js.RowDragFeature.onDragStop(ag-grid community.cjs.js:26966)
位于DragAndDropService.webpackJsonp../node_modules/ag grid community/dist/ag-grid-community.cjs.js.DragAndDropService.onDragStop(ag grid community.cjs.js:17368)
位于DragService.webpackJsonp../node_modules/ag-grid community/dist/ag-grid-community.cjs.js.DragService.onUpCommon(ag-grid community.cjs.js:31179)
位于DragService.webpackJsonp../node_modules/ag-grid community/dist/ag-grid-community.cjs.js.DragService.onMouseUp(ag-grid community.cjs.js:31174)
位于HTMLDocument.mouseUpEvent(ag-grid-community.cjs.js:31074)


请建议如何继续/修复此错误。

这可能是ag grid提供的默认处理程序中的错误。我今天开始的一个项目也有这个。您可以为所有道具提供自己的处理程序,这为我解决了问题

我遇到了网格到网格的问题,并做了以下工作。如果在网格拖动中使用,应该可以执行类似的操作,尽管道具的名称不同(例如onDragEnd而不是onDragStop)。这假设您正在管理自己的状态,并因此对dragEnd等采取行动

网格到网格拖动的示例:

const dropZoneParams = {
  onDragging: (args) => console.log('onDragging', {...args}),
  onDragEnter: (args) =>
    console.log('onDragEnter', {...args}),
  onDragLeave: (args) =>
    console.log('onDragLeave', {...args}),
  onDragStop: (args) => console.log('onDragStop', {...args}),
  getContainer: params.api.getRowDropZoneParams().getContainer,
}

我尝试了这个方法,但没有成功,直到内部停止拖动完成,这些方法才被调用。我正在移动同一网格中的行,因此不需要添加dropZoneParams。问题似乎是在getRowNodes方法下有一个对此的调用。返回“false”的isFromThisGrid(draggingEvent)应该为true,因为行来自同一个网格。您是否尝试覆盖网格内拖动(而不是添加dropzone)的事件处理程序?是,在ag grid js的处理完成后调用它。这发生在我身上,可能是因为我的OnDraging fn导致了一些表格单元格的重画,这导致事件源不再是网格的一部分。将fn设置为just console.log表明情况就是这样。滚动可能会导致类似的行为(拖动的行不再可见,因此isFromGrid返回false)。