Как динамически обрабатывать раскрывающийся список выбора с помощью таблицы матов в angular8?

Мне нужно динамически добавлять столбцы в таблицу матов, теперь я хочу добавить некоторые строки столбцов - это поля ввода, некоторые - раскрывающийся список, а один - вывод всех столбцов. И имена этих столбцов динамические.

Как справиться с этими условиями в Mat-Table?

Ссылка: https://stackblitz.com/edit/angular-pg9fie


person srikanth    schedule 09.02.2020    source источник


Ответы (1)


Вы можете изменить displayedColumns из *matRowDef="let row; columns: displayedColumns;"> динамически, и таблица будет повторно визуализирована.

Просто добавьте formControl к своему mat-selection-list и сделайте свой displayedColumns равным ему.

<mat-selection-list [formControl]="columnFormControl">
  <mat-list-option *ngFor="let column of ruleGroupColumns" [value]="column"></mat-list-option>
</mat-selection-list>
ruleGroupColumns: string[] = [
  'MERGE',
  'FACILITY',
  'COMPANY'
];

columnFormControl = new FormControl(this.ruleGroupColumns);

get displayColumns() {
  return this.columnFormControl.value;
}
person blid    schedule 09.02.2020