首页 > 解决方案 > 如何设置在 ng-select angular 8 上选择的第一个选项?

问题描述

我正在从嵌套数组生成多个下拉列表。我想为所有下拉菜单选择第一个选项。这是我在 html 上的代码

<ng-container *ngFor="let siz of product.attributes">
     <ng-select autocomplete="attributes" formControlName="attributes" [ngClass]="{ 'is-invalid': submitted && val.get('attributes').errors }" class="mt-2" bindValue="{{ siz }}" bindLabel="{{ siz }}" [items]="siz.value" placeholder="Select {{ siz.name }}" (change)="sizeChange($event, siz.name)"></ng-select>
</ng-container>

其他一切正常,我只需要默认选择第一个选项。

这是属性数组 在此处输入图像描述

标签: javascriptangular

解决方案


在 onInit 中获取所有内容之前的值

selected = product.attributes.map(x => x.value.map(y => y)[0])[0];

在初始化表单时使用方法 1

方法一:

//fb is formbuilder
this.form = fb.group({
   attributes: [selected, Vaidators.required] // selected is the default value
});

方法二: 表单初始化后

this.form.controls['attributes'].setValue(selected);

.ts 文件

<ng-select formControlName="attributes">


推荐阅读