При отправке модального окна (dialog.open) данные должны передаваться на родительскую страницу angular - PullRequest
0 голосов
/ 03 февраля 2020

Мой текущий код работал нормально, когда пользователь выбирает переключатель, когда данные передаются в родительское окно, но я хочу, чтобы пользователь выбирал переключатель из модального окна после нажатия кнопки «Отправить», значение должно добавляться к соответствующей строке.

Вот мой код 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();
      }
    }

Пожалуйста, дайте мне знать, что я делаю неправильно здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...