У меня есть простой angular компонент, который реализует ag-сетку, подобную этой:
<ag-grid-angular
*ngIf="data"
domLayout='autoHeight'
class="ag-theme-material"
suppressFieldDotNotation="true"
[pagination]="true"
[paginationPageSize]="5"
[defaultColDef]="defaultColDef"
[gridOptions]="gridOptions"
[frameworkComponents]="frameworkComponents"
[rowData]="data.rowData"
[columnDefs]="data.columnDefs"
(gridReady)="onGridReady($event)"
(cellKeyPress)="onCellKeyPress($event)">
</ag-grid-angular>
Затем я использую этот компонент внутри других компонентов, где мне нужно отобразить данные с поддержкой сетки .
<shared-grid [data]="projectStore.datasetsGridData | async" (action)="onDatasetsTableAction($event)"></shared-grid>
Как вы можете видеть, я использую наблюдаемое для установки сеток columnDefs
и rowData
.
Сетка настроена на использование компонента cellRenderer
, который реализует кликабельный элемент в одном из столбцов, например:
<div (click)="doSomething()">...</div>
Я заметил, что для этих сеток данные ([data] input
) постоянно меняют ячейку с помощью настраиваемого кликабельного элемента div, теряющего кликабельность, пока данные меняется. Когда новые данные перестают поступать, div снова активируется.
Я думаю, что это происходит из-за постоянного обновления сетки, но я не уверен на 100%. Если это так, есть ли обходной путь для прекращения этого эффекта?