如何使用ngFor选择第一个选项



我试图在用户输入电子邮件后选择第一个选项,但一直没有选择。有什么解决方案吗?

此处为图像

HTML:

<label for="login"><b>Usuário:</b></label>
<input type="email" id="login" name="login" ngModel class="form-control" placeholder="E-mail"
required autofocus (focusout)="onSelect()">
<label><b>Empresa:</b></label>
<select ngModel name="IdEmpresa" class="form-control" id="IdEmpresa" disabled="{{ disabled }}">
<option *ngFor="let empresa of empresas; index as i" value="{{empresa.id}}"
>{{ empresa.nome }}</option>
</select>

TS:

onSelect() {
if ($("#login").val()== null || $("#login").val() =="") {
} else {
this.erro = false;
this.alertService.clear();
let email = (document.getElementById("login") as HTMLInputElement).value;
localStorage.setItem(constants.emailSafeguard, email);
this.service.getEmpresas(email).subscribe(lista => {
this.empresas = lista;
if(lista.length > 1) {
this.disabled = false;
} else {
this.disabled = true;
}
})
}

}

您的选择没有值。请这样更改:

<select [(ngModel)]="selectedEmpresaId" name="IdEmpresa" class="form-control" id="IdEmpresa" [disabled]="disabled">
<option *ngFor="let empresa of empresas; index as i" [value]="empresa.id"
>{{ empresa.nome }}</option>
</select>

在ts(初始(中

this.selectedEmpresaId = this.empresas[0].id;

或者使用对象而不是id

<select [(ngModel)]="selectedEmpresa" name="IdEmpresa" class="form-control" id="IdEmpresa" [disabled]="disabled">
<option *ngFor="let empresa of empresas; index as i" [value]="empresa"
>{{ empresa.nome }}</option>
</select>

在ts(初始(中

this.selectedEmpresa = this.empresas[0];

相关内容