Как я могу установить первую опцию, выбранную в ng-select angular 8? - PullRequest
0 голосов
/ 03 мая 2020

Я генерирую несколько выпадающих из вложенного массива. Я хотел, чтобы первый вариант был выбран для всех выпадающих. Вот мой код на 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>

Остальное все работает нормально, мне просто нужно сначала выбрать опцию по умолчанию.

Вот массив атрибутов enter image description here

1 Ответ

0 голосов
/ 03 мая 2020

Получите значение, прежде чем все в onInit

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

Используйте метод 1 при инициализации вашей формы

Метод 1:

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

Метод 2: После инициализации формы

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

.ts file

<ng-select formControlName="attributes">

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...