出于测试目的,有一个要求为Ag网格中渲染的每个单元添加ID。是否有任何有效的方法将ID分配给每个单元格,而不是循环并手动分配?
我认为这是一个X-Y问题。如果可以使用已经在ag网格中呈现的css选择器来获取元素,为什么需要为每个单元格设置id
?
您需要为ag网格设置[getRowNodeId]
属性。当您将其设置为函数时,返回值被视为row
的id
。
this._getRowNodeId = (item: any): string => {
return `${item.id}`;
};
类似地,在提供ColDef
时,为colId
属性设置的值被视为列的id
。
因此,完成此操作后,当您检查DOM时,它将呈现如下。观察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
和col-id
的渲染单元内的值,可以使用选择器进行检查。