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>
感谢这里的某个人,我在我的 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>