在Angular中自动选择了下拉菜单时,

时间:2019-09-27 14:59:22

标签: javascript angular events dropdown

在下面的代码中,以编程方式更新所选内容时不会触发onColorChanged。当我转到UI并从下拉菜单中选择颜色时,它会触发。不知道发生了什么。

          <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 :(得分:0)

在这种情况下,您必须以编程方式调用onColorChanged()

赞:

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

答案 1 :(得分:0)

将名称属性传递给选择标签。 在表单元素中覆盖选择标签。

    <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>