Невозможно прочитать свойство undefined в Object.eval angular - PullRequest
1 голос
/ 01 октября 2019

Я пытаюсь получить данные из комбинированного списка и распечатать данные в текстовом поле, например, в соответствии с идентификатором пользователя, напечатать имя пользователя в текстовом поле, выбрав его идентификатор в комбинированном окне, надеюсь, вы понимаете, и чтоэто хорошо написано, мой английский не очень хорошо

я пробую это ...

компонент html

  <mat-select  [(ngModel)]="examen.rutPac" name="rutPac">
    <mat-option *ngFor="let pacientes of pacientes" name="rutPac" [value]="pacientes.rutPac">
      {{pacientes.rutPac}}
    </mat-option>

            <input matInput [(ngModel)]="selectedPaciente.nombrePac" #elementDescripcionControl="ngModel"
        type="text" name="NombrePac" placeholder="Nombre Paciente" maxlength="30" readonly>

компонент ts


  getOnePaciente = (pac) => {
    this.dataService.getOnePaciente(pac.id).subscribe(
      (data: Paciente) => {
        this.selectedPaciente = data; 
        console.log('JSON DATA --->', data); 
      },
      error => {
        console.log(error);
      }
    );
  }

  getPacientes(): void {
    this.dataService
      .getPacientes()
      .then(pacientes => this.pacientes = pacientes);
  }

"the model"
   pacientes:Paciente[];

this is the error

Ответы [ 2 ]

2 голосов
/ 01 октября 2019

Вы можете использовать ?, чтобы сделать необязательную переменную необязательной. Это известно как @ Mostafa как ' safe navigation ':

[(ngModel)]="selectedPaciente?.nombrePac"

Как:

 <input matInput [(ngModel)]="selectedPaciente?.nombrePac" #elementDescripcionControl="ngModel"
        type="text" name="NombrePac" placeholder="Nombre Paciente" maxlength="30" readonly>

? может помочь избежать ошибки, когда selectedPaciente не назначен

или *ngIf:

<div *ngIf="selectedPaciente">
<input matInput [(ngModel)]="selectedPaciente.nombrePac" #elementDescripcionControl="ngModel"
        type="text" name="NombrePac" placeholder="Nombre Paciente" maxlength="30" readonly>
</div>
0 голосов
/ 01 октября 2019

обязательно сначала импортируйте FormsModule в модуль приложения. и затем вы можете использовать «оператор безопасной навигации (?)» и нулевой путь свойства, чтобы сделать необязательные переменные необязательными.

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