Установка объекта из модального диалога Angular Material Dialogue в Angular таблицу материалов во время сохранения - PullRequest
0 голосов
/ 25 мая 2020

Я не могу установить объект из диалога материалов angular в таблицу материалов angular. У меня есть поле formControl pm. Я хочу отображать строку в поле pm, но я хочу иметь возможность нажимать на save, и объект должен быть установлен вместо строки из поля pm. Как я могу go сделать это более чистым способом. Подход, который я использовал, - это взять объект pmObject, и при сохранении я переназначаю значение объекту .Мне нужен правильный подход, пожалуйста, направьте меня.

HTML

<table class = "addUser" mat-table [dataSource]="dataSourceAddUser">
     <ng-container matColumnDef="projectPm" fxFlex="40px">
                <th mat-header-cell *matHeaderCellDef> </th>
                <td mat-cell *matCellDef="let element">
                    <mat-form-field floatLabel="never">
                        <input matInput  (click)="openDialogPM()" [value]="element.projectPm" [(ngModel)]="element.projectPm"  placeholder="PM" [formControl]="pm"   required>
                        <mat-error *ngIf="pm.invalid">{{getErrorMessage()}}</mat-error>
                    </mat-form-field>
                </td>
    </ng-container>

 <ng-container matColumnDef="Save" class="Save">
                <th mat-header-cell *matHeaderCellDef> </th>
                <td mat-cell *matCellDef="let element" style="min-width: 100px;">
                    <button mat-raised-button (click)="saveUser(element)"  [disabled]="projectIdSys.invalid || projectDesc.invalid || sslPod.invalid || rssl.invalid || geo.invalid || pm.invalid || dm.invalid || dh.invalid || towerHead.invalid"> <mat-icon color="accent">save</mat-icon>
                        Save </button>
                </td>
            </ng-container>

    <tr mat-header-row *matHeaderRowDef="displayedColumnsAddUser"></tr>
            <tr mat-row *matRowDef="let row; columns: displayedColumnsAddUser;"></tr>
</table>

TS

 openDialogPM(): void {

    const dialogRef = this.dialog.open(DialogOverviewExampleDialogComponent , {

      width: '1500px',
      height: '500px',


    });
    dialogRef.afterClosed().subscribe(result => {
      console.log('The dialog was closed',result);
      this.pm.setValue(result.empName);
      this.pmObject = result;
    });
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...