Столбцы перетаскивания таблицы материалов Angular не обновляют строки

Есть ли способ обновить источник данных (строки) таблицы Angular Material в соответствии с изменениями, внесенными путем перетаскивания в столбцы?

У меня есть событие dropListedDrop, которое обновляет столбцы:

dropListDropped(event: CdkDropList, index: number) {
  if (event) {
    moveItemInArray(this.headers, this.previousIndex, index);
    this.setDisplayedColumns();
  }
}

Но данные в dataSource не изменяются автоматически после завершения действия перетаскивания.

Пример здесь: StackBlitz


person corry    schedule 12.07.2019    source источник


Ответы (2)


dropListDropped(event: CdkDropList, index: number) {
  if (event) {
    moveItemInArray(this.headers, this.previousIndex, index);
    this.headers = [...this.headers];
  }
}

демонстрация онлайн ЗДЕСЬ (это решение работает, даже если у вас есть Угловой трубчатый фильтр)

person Stéphane GRILLON    schedule 21.11.2019
comment
Именно то, что я хочу! Спасибо :) - person Smilefounder; 18.10.2020