我正在使用服务填充 DropDown。服务返回简单的键/值对数组。
typescript :
public initializeForm(): void {
this.form = this.fb.group({
supplierId: ["", [Validators.required]],
username: ["", Validators.required],
credentials: ["", [Validators.required]],
rating: [""]
})
}
this.adminService.getSuppliers({ active: "true" }).subscribe(res => {
this.suppliers = res;
})
HTML:
<select class="form-control" formControlName="supplierId">
<option>Select Supplier</option>
<option *ngFor="let s of suppliers" [value]="s.supplierId">{{s.supplierName}}</option>
</select>
As you can see in below image, default option is not set as selected option on page load. I want default option to be selected on page load same like simple HTML and fires required field validation when I try to submit page by selecting default option in dropdown
更新:
如果我将默认选项值设置为 0,则它不支持必需的验证,如果我选择默认选项,则认为它有效
最佳答案
将validation.min 设置为 required 以及如下所示。
supplierId: ["", [Validators.required, Validators.min(1)]]
supplierId is always greater zero so min(1) works for you.
关于angular - 在 Angular 6 中设置下拉菜单的默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56037515/