我有一个对象数组,从中呈现一个select。问题是,select默认将它的选择设置为warehouseSelect数组中的第二个对象(它甚至不应该是可选的,仅用作类别标签)(因此我也尝试使用unshift方法)。
怎样才能诉诸这样的行为呢?
角HTML
<select [disableControl]="allDisabled" class="form-control" id="warehouse_id" formControlName="warehouse_id" tooltip="Select a warehouse" data-placement="top">
<option *ngFor="let warehouse of warehouseSelect" [disabled]="warehouse.id == null" [selected]="orderform.controls['warehouse_id'].value == warehouse.id" [ngValue]='warehouse.id' id="{{warehouse.id}}">{{warehouse.name}}</option>
</select>
打字本
constructor(
private warehouseService: WarehouseService,
) {
this.warehouseService.getWarehouses(this.selectedOrganization.organization_id)
.subscribe((warehouses) => {
warehouses.forEach(warehouse => {
if (!this.purposesWarehouses[warehouse.purpose]) {
this.purposesWarehouses[warehouse.purpose] = [];
}
this.purposesWarehouses[warehouse.purpose].push(warehouse);
this.warehouses.push(warehouse);
});
for (let purpose in this.purposesWarehouses) {
this.warehouseSelect.push({ id: null, name: purpose });
for (let warehouse in this.purposesWarehouses[purpose]) {
this.warehouseSelect.push(this.purposesWarehouses[purpose][warehouse]);
}
}
this.warehouseSelect.unshift({ id: -1, name: 'Auto', });
});
}
发布于 2021-11-19 18:12:42
因为您的orderform.controls['warehouse_id']
的初始值是null
,所以默认情况下选择的值为null id。
可以使用setValue
函数更改窗体控件的值。
例如,: orderform.controls['warehouse_id'].setValue(1)
默认选择id为1
的项。
https://stackoverflow.com/questions/70035490
复制相似问题