Невозможно вызвать событие изменения, когда выпадающий список автоматически выбран в Angular - PullRequest
0 голосов
/ 27 сентября 2019

В моем коде ниже onColorChanged не запускается, когда выборка обновляется программно.Это срабатывает, когда я захожу в интерфейс и выбираю цвет из выпадающего списка.Не уверен, что происходит.

          <div class="card border-0">
                <div class="card-body">
                    <label for="color">
                            <b>Color</b>
                    </label>
                    <select class="form-control" ng-init=null id="colorList" aria-describedby="colorList" *ngIf="myColorList$"
                        [(ngModel)]="selectedColor" (change)="onColorChanged(selectedColor)">
                        <option *ngFor="let c of myColorList$ | async" [ngValue]="c">{{c}}</option>
                    </select>
                </div>
            </div>

Ответы [ 2 ]

0 голосов
/ 27 сентября 2019

Передать атрибут имени в тег выбора.Обложка выберите тег в элементе формы.

    <form name="colorForm">

        <select class="form-control" id="colorList" name="myColor" [(ngModel)]="selectedColor" (change)="onColorChanged(selectedColor)"> 
<option *ngFor="let c of myColorList$ | async" [ngValue]="c">{{c}}</option>
 </select>
</form>
0 голосов
/ 27 сентября 2019

В этом случае вам необходимо набрать onColorChanged() программно.

Как:

this.selectedColor = 'red';
this.onColorChanged(this.selectedColor);
...