我正在尝试从组合框中获取数据并在文本框中打印数据,例如根据用户ID,通过从组合框中选择用户ID在文本框中打印用户名,希望您能理解,并且它写得很好,我的英语不是很好
我尝试这个...
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[];
答案 0 :(得分:2)
您可以使用?
将未定义的变量设为可选,这被 @Mostafa 指出为“ 安全导航”:
[(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>
答案 1 :(得分:0)
请确保首先在您的应用模块中导入FormsModule。 然后您可以使用“安全导航运算符(?)”和null属性路径将未定义的变量设为可选。