我正在使用 Angular 16 和 AgGrid 30。
我希望单元格编辑器在不同的路径上创建,目前它在底部 div 元素的 body 中使用此类创建:ag-theme-material ag-popup,里面是编辑器,但我希望它在其他地方,例如 body > div.cdk-overlay-container
在文档中找不到任何帮助。
<body>
<div class="cdk-overlay-container"></div>
<div class="ag-theme-material ag-popup"></div>
</body>
谢谢
编辑:我已成功将 ag-pupup 移动到 cdk-overlay-container,如下所示,在自定义单元格编辑器组件中:
public afterGuiAttached(): void {
const parrent = document.querySelector(".cdk-overlay-container");
const agPopup = document.querySelector(".ag-popup");
if (parrent && agPopup) {
parrent.appendChild(agPopup);
}
}
但是当我点击并想要关闭单元格编辑器时,我得到:
无法在“Node”上执行“removeChild”:要删除的节点是 不是该节点的子节点。
发生这种情况是因为 api 知道旧路径,但现在知道新路径。 任何 api 指导都值得赞赏。
解决方案确实存在,来自aggrid:
popupParent
类型 HTML 元素 |无效的 用作网格弹出窗口(上下文菜单、列菜单等)的弹出父级的 DOM 元素。