Мой текущий код работал нормально, когда пользователь выбирает переключатель, когда данные передаются в родительское окно, но я хочу, чтобы пользователь выбирал переключатель из модального окна после нажатия кнопки «Отправить», значение должно добавляться к соответствующей строке.
Вот мой код HTML (Диалог)
<table mat-table [dataSource]="dataSourceEmploy" id="columns">
<ng-container>
<div class="search-input">
<mat-icon matPrefix>search</mat-icon>
<input type="text" matInput id="searchText"
(keyup)="applyFilter($event.target.value)" placeholder="Search by First Name">
</div>
</ng-container>
<ng-container matColumnDef="select">
<th mat-header-cell *matHeaderCellDef ></th>
<td mat-cell *matCellDef="let columns">
<input type="radio" name="emp" value="ctmsList">
</td>
</ng-container>
<ng-container matColumnDef="empId">
<th mat-header-cell *matHeaderCellDef></th>
<td mat-cell *matCellDef="let columns"> {{columns.empId}} </td>
</ng-container>
<ng-container matColumnDef="empNameDesignation">
<th mat-header-cell *matHeaderCellDef></th>
<td mat-cell *matCellDef="let columns"> {{columns.empName}} / {{columns.empDesignation}} </td>
</ng-container>
<tr mat-header-row *matHeaderRowDef="columnemploytoDiplay" style="display: none;"></tr>
<tr mat-row *matRowDef="let row; columns: columnemploytoDiplay;"></tr>
</table>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" (click)="getEmpValue()">Match</button>
</div>
Вот (диалог Ts)
export class DialogEMPComponent implements OnInit {
public columnemploytoDiplay: string[] = ['select','empId','empNameDesignation'];
public dataSourceEmploy = new MatTableDataSource<EmpList>([]);
selectRadio: String;
fromDialog:string;
fromPage:string;
constructor(public dialogRef: MatDialogRef<MatchSiteComponent>,private dataService: DataService,
@Inject(MAT_DIALOG_DATA) public empDisplay:any) {
this.fromPage = empDisplay.pageValue;
}
applyFilter(filterValue: string) {
this.dataSourceEmploy.filter = filterValue.trim().toLowerCase();
}
finalDisplay:any;
ngOnInit() {
this.dataSourceEmploy = new MatTableDataSource<EmpList>(this.empDisplay.eMPTableDisplay);
}
getEmpValue(columns){
this.dataService.matchSiteResult = {
EMPName: columns.empName,
EMPDesignation: columns.empDesignation,
EmpId:columns.empId,
};
this.closeModal();
}
// displayParent(){
// this.dialogRef.close();
// }
closeModal() {
this.dialogRef.close();
}
}
Пожалуйста, дайте мне знать, что я делаю неправильно здесь