Angular:应用网格选项后 ag-grid 正在重置

Angular: ag-grid is resetting after I apply grid options

感谢这里的某个人,我在我的 agGrid 上设置了一个排序模型,我告诉它自动调整所有列的大小。当我单步执行调试器时,我可以看到更改正在生效。但是随后,其他 执行,并且网格重置为我猜它的默认状态。那会是什么?

HTML 定义如下:

<div>
    <br>
    <div class="domain-form-input"></div>
    <h1>Refresh Job Log</h1>
    <br>
    <data-table *ngIf="portfolioData"
                [setData]="portfolioData"
                [columnDefinition]="columnsDefinition"
                [selectable]="selectable"
                [highlight]="highlight"
                (onRowDoubleClick)="onRowDoubleClick($event)"
                [showSearchBar]="false"
                (onCellClick) = "onCellClick($event)"
                (onDataGridReady)="onGridReady($event)"
    >
    </data-table>
</div>

还有 .ts 的片段:

public onGridReady(params): void {
    this.gridApi = params.api;
    this.columnApi = params.columnApi;
    const sortModel = [
        {colId: 'refreshJobStart', sort: 'desc'}
    ];
    this.gridApi.setSortModel(sortModel);
    this.columnApi.autoSizeAllColumns();
}

public ngOnInit(): void {
    this.gridOptions.defaultColDef = this.selectable ? this.getDefaultColumnsDefinition() : null;
    this.showSpinner = true;
    this.getAllRefreshJobs();
}

我对 UI 总体开发了解不多,但我了解事件,而且我看不出是什么事件导致我的网格重置。在调试器中,事件队列是 "purged",那是我的更改被撤消的时间。有什么想法吗?

在尝试了所有我能找到的停止事件传播的方法(none 有效)之后,我终于想到了这个问题。我在网格 modifyColumnState 上设置了一个 属性,并且在 data-grid 的组件 ts 中,如果 属性 设置为 false,我告诉它不要做它的事情。希望其他遇到麻烦的人都清楚。

   <data-table *ngIf="portfolioData"
                [setData]="portfolioData"
                [columnDefinition]="columnsDefinition"
                [selectable]="selectable"
                [highlight]="highlight"
                (onRowDoubleClick)="onRowDoubleClick($event)"
                [showSearchBar]="false"
                (onCellClick) = "onCellClick($event)"
                (onDataGridReady)="onGridReady($event)"
                [modifyColumnState] = "false"
    >
    </data-table>