出于测试目的,有人要求向Ag-Grid中渲染的每个单元格添加ID。有什么有效的方法可以为每个单元分配ID,而不是循环遍历和手动分配?
答案 0 :(得分:1)
我认为这是X-Y problem。
如果可以使用已经在ag-grid中呈现的css选择器来获取元素,为什么还要为每个单元格设置id
?
您需要为ag-grid设置[getRowNodeId]
属性。当您将其设置为函数时,返回值被视为id
的{{1}}。
row
类似地,在提供 this._getRowNodeId = (item: any): string => {
return `${item.id}`;
};
时,您为ColDef
属性设置的值被视为该列的colId
。
因此,执行完此操作后,当您检查DOM时,它将如下所示。观察id
和row-id
。
col-id
因此,如果要检查<div row-id="113489"
role="row" row-index="6" comp-id="166"
class="ag-row ag-row-no-focus ag-row-even ag-row-level-0 ag-row-position-absolute"
style="height: 28px; transform: translateY(168px); ">
<div col-id="10"
tabindex="-1" role="gridcell" comp-id="167"
class="ag-cell ag-cell-not-inline-editing ag-cell-with-height ag-cell-no-focus ag-cell-value"
style="width: 100px; left: 0px; ">
Cell_Value1
</div>
<div col-id="11"
tabindex="-1" role="gridcell" comp-id="167"
class="ag-cell ag-cell-not-inline-editing ag-cell-with-height ag-cell-no-focus ag-cell-value"
style="width: 100px; left: 0px; ">
Cell_Value2
</div>
</div>
和row-id
的渲染单元格中的值,可以使用选择器进行检查。