Angular 角度不使用Dev Extreme数据网格列和视图更新

Angular 角度不使用Dev Extreme数据网格列和视图更新,angular,typescript,devextreme,angular-changedetection,dx-data-grid,Angular,Typescript,Devextreme,Angular Changedetection,Dx Data Grid,component.html <dx-data-grid> <dxi-column *ngFor="let column of columns"> // creating columns </dxi-column> </dx-data-grid> 设置datagrid状态时,如果状态中的列在datagrid中尚不存在(例如,state有5列,datagrid只有3列),则在设置状态时,datagrid会将它们过滤掉 所以在这个例子中(我认

component.html

<dx-data-grid>
 <dxi-column *ngFor="let column of columns">
  // creating columns
 </dxi-column>
</dx-data-grid>
设置datagrid状态时,如果状态中的列在datagrid中尚不存在(例如,state有5列,datagrid只有3列),则在设置状态时,datagrid会将它们过滤掉

所以在这个例子中(我认为正在发生的事情)

  • 正在设置列
  • 页面尚未创建列
  • datagrid没有更新的列
  • 设置状态时,datagrid列为空,因此将筛选状态列

我已经试着查看ngZone和changeDetectorRef,但我无法让它正常工作,我不确定它们在这种情况下是否有帮助。

试试下面的方法。设置ChangeDetectorRef,并在您当前评论的位置调用detectChanges

constructor(private cd: ChangeDetectorRef) {}
public someFn() {
  this.cd.detectChanges();
  // ngOnChanges will be called
}

信息来自:

似乎是一个非常简单的解决方案。。。不知道我怎么没试过
constructor(private cd: ChangeDetectorRef) {}
public someFn() {
  this.cd.detectChanges();
  // ngOnChanges will be called
}