Ag-grid masterDetail模式下 如何获取parent

本文档介绍了在使用Ag-Grid处理详细数据时如何获取父级数据的问题。作者分享了一种通过将parent存储在context中的方法,以避免通过rowId获取parent时出现的错误。该错误可能导致数据修改指向错误的parent。文中还提到了最初尝试通过rowId在getDetailRowData中存储parent,但因新数据获取导致的rowId更新问题而放弃。最后,作者认为当前方案更为简洁有效。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

获取方法

操作detail数据时常常有需要用到parent的场景,Ag-grid文档中没有找到api能获取parent,解决方案如下:

	  const detailCellRendererParams = (parentGrid) => {
	      return {
	        detailGridOptions: {
	          context: { parentGrid },
	        }
      };

parent存在context中,parentapi node 还有data都能获取到了

走过的弯路

开始我并不是这种方式实现的,而是把parentrowId放在了getDetailRowData中,获取parent的时候用api通过rowId来获取。
然而这种方式有个致命bug,因为getDetailRowData发生在获取新数据的时候,导致rowId永远指向的都是最新展开的detailparent。这样修改的detail数据,就修改到了其它的parent中。
当然也可以通过其他方式解决,把rowId存一下,我没有继续这种方式,觉得复杂了些,没有上述方案简便。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值