angular - Angular:我应用网格选项后,ag-grid 正在重置
问题描述
感谢这里的某个人,我在我的 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 开发知之甚少,但我了解事件,但我看不出是什么事件导致我的网格重置。在调试器中,事件队列被“清除”,这就是我的更改被撤消的时候。有任何想法吗?
解决方案
在尝试了我能找到的一切来阻止事件传播(都没有奏效)之后,我终于想出了这个 kluge。我在 grid 上设置了一个属性modifyColumnState
,在 ts 的组件中data-grid
,如果该属性设置为 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>
推荐阅读
- python - 在 Django 中匹配包含标签的数组字段作为 Trigram 只接受文本而不接受列表
- python - 为什么 PyCharm 不能正确识别某些 python 库?
- tailwind-css - tailwindcss group-hover 不适用于变换
- flutter - 如何从网络下载图像并将其保存在本地目录中?
- javascript - 数据列表更多详细信息选项的问题
- angular - 为什么我不能从 ngOnInit 方法设置数组实例变量?
- python - 在文本文件的特定范围内的多行末尾添加/追加文本
- python-3.x - “无法为任何语言加载 Spacy 模型:en”在本地运行良好,但在 heroku 上部署时出现问题
- javascript - React:从另一个组件调用时,字符串自动转换为 [object promise]
- python - Python:当我使用 writerows(zip()) 时,我得到垂直文本