【问题标题】:Angular 5 : Event handling for material dropdownAngular 5:材料下拉的事件处理
【发布时间】:2019-07-26 13:36:09
【问题描述】:

如果mat-select 的值发生变化,我需要调用一个函数。 我一直在(click) 上调用该函数,添加到mat-option.

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

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

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

【问题讨论】:

  • 使用 selectionChange 从 mat-select 中获取选定的值。详情请查看答案

标签: angular angular-material


【解决方案1】:

材质选择中有一个selectionChange事件发射器,每当用户更改mat-select中的选项时,它都会发出值,请参考docs here

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

</mat-select>

【讨论】:

    【解决方案2】:

    在这里您可以在 mat-select 上使用 (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

    【讨论】:

    • 这适用于单选下拉菜单!但对于我有全选功能的多选下拉菜单,它不起作用。请看stackblitz.com/edit/…
    猜你喜欢
    • 2018-10-02
    • 1970-01-01
    • 2019-12-30
    • 1970-01-01
    • 2017-05-02
    • 1970-01-01
    • 1970-01-01
    • 2018-10-29
    • 1970-01-01
    相关资源
    最近更新 更多