3

我需要调用一个函数以防mat-select. 我一直在调用该函数(click)添加到mat-option.

但是如果我们只是用键盘填表,这个函数永远不会被调用(可以理解)。有什么方法可以在任何更改时调用该函数?onChange,更改事件似乎不起作用。我没有ngModel这个表单域

更新: selectionChange适用于单选下拉菜单,但不适用于multi-select下拉菜单和mat-autocomplete。有没有办法实现这一点?多选示例:multi-select-stackblitz

更新 2:用于多个自动完成工作的 onSelectionChange。多自动完成

4

2 回答 2

6

在这里,您可以(selectionChange)在 mat-select 上使用该事件。

例子 :

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

这是关于 stackblitz 的演示

于 2019-03-05T06:46:17.293 回答
2

材质选择中有一个selectionChange事件发射器,每当用户更改 内部的选项时,它都会发出值mat-select,请参阅此处的文档

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

</mat-select>
于 2019-03-05T06:47:21.767 回答