如何解决如何使用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];
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。