获取方法
操作detail
数据时常常有需要用到parent
的场景,Ag-grid
文档中没有找到api能获取parent
,解决方案如下:
const detailCellRendererParams = (parentGrid) => {
return {
detailGridOptions: {
context: {
parentGrid },
}
};
将parent
存在context
中,parent
的api
node
还有data
都能获取到了
走过的弯路
开始我并不是这种方式实现的,而是把parent
的rowId
放在了getDetailRowData
中,获取parent的时候用api
通过rowId
来获取。
然而这种方式有个致命bug
,因为getDetailRowData
发生在获取新数据的时候,导致rowId
永远指向的都是最新展开的detail
的parent
。这样修改的detai
l数据,就修改到了其它的parent
中。
当然也可以通过其他方式解决,把rowId
存一下,我没有继续这种方式,觉得复杂了些,没有上述方案简便。