Angular 5:事件处理,用于物料下拉

时间:2019-03-05 06:40:34

标签: angular angular-material

如果mat-select的值发生变化,我需要调用一个函数。 我已经在添加到(click)的{​​{1}}上调用了该函数

但是,如果我们仅使用键盘来填写表格,则该函数永远不会被调用(理解)。 有什么办法可以对任何更改调用函数吗? onChange,更改事件似乎不起作用。 我在此表单域中没有mat-option.

更新: ngModel适用于单选下拉列表,但不适用于selectionChange下拉列表和multi-select。有没有办法做到这一点? 多选示例:multi-select-stackblitz

更新2: onSelectionChange用于多项自动完成的作品。multi-autocomplete

2 个答案:

答案 0 :(得分:3)

在这里您可以在垫选中使用(selectionChange)事件。

示例:

<mat-form-field>
    <mat-select placeholder="State" (selectionChange)="someMethod($event.value)">
        <mat-option *ngFor="let state of states" [value]="state.value">
            {{ state.viewValue }}
        </mat-option>
    </mat-select>
</mat-form-field>

Here is Demo on stackblitz

答案 1 :(得分:2)

材料选择中有一个 selectionChange 事件发射器,只要用户在mat-select内更改选项,该事件发射器就会发出该值,请参考docs here

<mat-select placeholder="State" (selectionChange)="someMethod($event.value)">

</mat-select>