Я столкнулся с проблемой в таблице ng-if , в которой по умолчанию текст моего столбца будет выбрать текст Мне нужно выбрать данные из модального окна и нажать кнопку "Сохранить", чтобы данные будут заменены выбранными данными. в другом столбце будет доступен выделенный текст.
Но с моим текущим кодом этого не происходит, я не знаю, в чем проблема
Я даже пытался использовать блок else
HTML
<table *ngIf="ctmsValueArray.length > 0" mat-table [dataSource]="ctmsValueArray">
<!--CTMS Details -->
<ng-container matColumnDef="ctmsInstitutionName">
<th mat-header-cell *matHeaderCellDef> CTMS - Institution Name / PI Name</th>
<td mat-cell class="mat-cell" *matCellDef="let element">
<span *ngIf="!ctmsMatch">Match Sites</span>
<span *ngIf="ctmsMatch" >{{element.ctmsInstitutionName}} / {{element.ctmsInvestigatorFullName}} </span>
</td>
</ng-container>
<tr mat-header-row *matHeaderRowDef="columnCTMStoDiplay;"></tr>
<tr mat-row *matRowDef="let row; columns: columnCTMStoDiplay;"></tr>
</table>
Вот мой код ts, чтобы заменить Первоначально я установил ctmsMatch = false;
openDialog(element,i): void {
const dialogRef = this.dialog.open(DialogCTMSComponent, {
data: {cTMSTableDisplay:this.ctmsDisplay, title:element.ibtInstitutionName + ' / ' + element.ibtInvestigatorFullName, result:this.dataService.matchSiteResult}
});
console.log(this.data);
dialogRef.afterClosed().subscribe(result => {
this.ctmsValueArray[i].ctmsInstitutionName = this.dataService.matchSiteResult.ctmsInstitutionName;
this.ctmsValueArray[i].ctmsInvestigatorFullName = this.dataService.matchSiteResult.ctmsInvestigatorFullName;
});
}