繁体   English   中英

ag-Grid 行不删除

[英]ag-Grid row not deleting

我正在尝试从我的 ag-Grid 中删除一行,如下所示:

let alertRow : RowNode = this.gridApi.getRowNode(rowIndex);
console.log(alertRow);
this.gridApi.updateRowData({remove: [alertRow]});

它给了我这个错误:

ag-Grid:找不到数据项,因为找不到对象

我可以在控制台中看到RowNode是正确的节点并且存在。 我也可以使用updateRowData()添加新行,但尝试删除会出现此错误。

我在 Angular 6 组件中使用 ag-Grid。

为什么删除不起作用?

updateRowData({remove:[alerRow]})替换为

updateRowData({remove:[alertRow.data]}))

更新文档

... 如果您不使用 ID,则网格将根据对象引用匹配行。

不完全确定这是添加到un.spike's answer的正确位置/方式,但如果您使用getSelectedNodes方法获取您要删除的数据,则语法略有不同(需要索引到选定的节点)。

(两者都假设您使用的是单行选择)

获取选定节点

const selectedNode = this.gridApi.getSelectedNodes();
this.gridApi.updateRowData({ remove: [selectedNode[0].data] });

而且,为了“完整性”,
getSelectedRows (即使 API 建议使用getSelectedNodes

const selectedRow = this.gridApi.getSelectedRows();
this.gridApi.updateRowData({ remove: selectedRow });

如果你使用 vue.js,你可以使用这几行代码:

  1. 获取选择行, const selectedRow = this.gridApi.getFocusedCell()

  2. 通过选择行获取节点 const node = this.gridApi.getRowNode(selectedRow.rowIndex)

  3. ApplyTransaction 通过节点的数据移除节点。 this.gridApi.applyTransaction({ remove: [node.data] })

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM