FormControl
在选择输入上使用 ReactiveForms
<select [formControl]="selectedSupplier">
<option *ngFor="let supplier of supplierList$ | async" [ngValue]="supplier"
>{{supplier.name}}</option
>
</select>
并使用setValue函数从水龙头管道函数FormControl
中的 observable 设置初始值
selectedSupplier = new FormControl();
this.mySupplierList$ = this._mySupplierService.getSupplierList()
.pipe(
tap((suppliers)=> {
this.selectedSupplier.setValue(suppliers[suppliers.length - 1]);
})
);
- 使用 RxJs 的map函数操作 observable 中的数据。使用 Javascript 数组unshift函数将对象添加到数组中。
this.mySupplierList$ = this._mySupplierService.getSupplierList()
.pipe(
map((suppliers)=> {
suppliers.unshift({ id: null, name: "Select" });
return suppliers;
})
);
Stackblitz两种解决方案