У меня есть следующий выпадающий список в мат.
<ng-container matColumnDef="loadType">
<mat-header-cell class="loadType" *matHeaderCellDef>Load Type</mat-header-cell>
<mat-cell class="loadType" *matCellDef="let row">
<select class="load-type-incremental" [value]="row.loadType" (change) = "changeLoadType(row.fileType, $event.target.value)">
<option [value]="true">Incremental</option>
<option [value]="false">Full</option>
</select>
</mat-cell>
</ng-container>
Вот источник данных
<mat-table [dataSource]="fileTypeIncremental.dataSource">
Событие изменения значения в раскрывающемся списке обрабатывается методом changeLoadType . А внутри него в соответствии с некоторым условием источник данных может быть изменен.
changeLoadType(type: string, loadType: string): void{
if(loadType === "false"){
//check popup
let dialogRef = this.confirmationDialog.open(ConfirmationDialog, {disableClose: true});
let instance = dialogRef.componentInstance;
instance.confirmMessage = "Are you sure you want to do a Full data refresh? All existing data of the selected type will be truncated";
dialogRef.afterClosed().subscribe(result => {
if(result) {
this.fileTypeIncremental.changeLoadType(type, (JSON.parse(loadType)));
}
dialogRef = null;
});
}
else{
this.fileTypeIncremental.changeLoadType(type, (JSON.parse(loadType)));
}
}
Мне нужен Dropdown для отображения фактического состояния источника данных ([value] = "row.loadType") независимо от того, что было выбрано в Dropdown. Эти 2 параметра в раскрывающемся меню необходимы только для запуска события.