Angular не обновляется с помощью столбцов и представлений сетки данных Dev Extreme - PullRequest
1 голос
/ 26 февраля 2020

component. html

<dx-data-grid>
 <dxi-column *ngFor="let column of columns">
  // creating columns
 </dxi-column>
</dx-data-grid>

component.ts

public setupColumnsAndState(newColumns[]: any, state: any) {
 columns = newColumns[];
 // Is there something that could be done here to update datagrid columns?
 this.datagrid.instance.state(state); //state has columns
}

При настройке состояния сетки данных, если столбцы в этом состоянии еще не существуют в таблице данных (например, . состояние имеет 5 столбцов, а сетка данных имеет только 3), затем при установке состояния сетка данных отфильтровывает их.

Так что в этом примере (что, я думаю, происходит)

  • устанавливаются столбцы
  • страница еще не создала столбцы
  • datagrid не имеет обновленных столбцов
  • при установке состояния, столбцы таблицы данных пусты, поэтому столбцы состояния фильтруются.

Я пытался просмотреть ngZone и changeDetectorRef, но не смог я не могу заставить его работать должным образом, и я не уверен, поможет ли это в этой ситуации.

1 Ответ

1 голос
/ 26 февраля 2020

Попробуйте что-то вроде следующего. Установите ChangeDetectorRef и и вызовите detectChanges, где у вас есть текущий комментарий.

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

Информация поступает из: Эта статья

...