小编cla*_*act的帖子

初始组件加载后,Ag-grid defaultColDef 未重新应用

当表最初接收异步检索的数据时,Ag-grid 使用 ngOnChanges 完美应用 defaultColDef 格式(cellStyle 和 cellRenderer)。但是,如果包含网格的组件被隐藏,然后通过 *ngIf 条件重新初始化,则表将使用正确的数据重新填充,但即使像以前一样再次触发 ngOnChanges,也不会重新应用 defaultColDef 格式,并且this.gridOptions.defaultColDef = this.defaultColDef;在 ngOnChanges 的 onGridReady 回调中设置,我可以看到 this.defaultColDef 在调试期间被定义为正确的对象。

即使 this.defaultColDef 在 ngOnInit() 中再次重新定义,甚至在 ngOnChanges() 中再次重新定义(为了简洁起见,仅包含在下面示例代码的构造函数中)也是如此。此外,如果在 ngOnInit() 内重复整个 onGridReady: (params) 调用。

相反,如果在父级中构造 columnDefs 对象时将相同的 cellStyle 和 cellRenderer 作为属性分配给 columnDefs,则当隐藏并重新显示(重新初始化)网格组件时,可以正确应用格式设置。

 export class ResultsTableComponent implements OnInit, OnChanges {
 @Input() label;
 gridOptions: GridOptions ;
 gridApi;
defaultColDef;

 get query(): string {
     return this.searchService.query;
 };
 get rowData() {
     return this.searchService.rowDataForAgGrid;
 };
 @Input()
 set rowData(value) {
     this.searchService.rowDataForAgGrid=value;
 };
 get columnDefs() {
     return …
Run Code Online (Sandbox Code Playgroud)

ag-grid angular angular-changedetection

5
推荐指数
1
解决办法
1992
查看次数

标签 统计

ag-grid ×1

angular ×1

angular-changedetection ×1