首页 > 解决方案 > (更改)事件不适用于选择和输入元素,但适用于复选框 Angular 6、Material 6

问题描述

在将我的项目从 Material v5.2.4 更新到 v6.0.0 并将 Angular v5.1.2 更新到 v6.0.0 之后,该(change)事件在 select 和input type="text"元素上不起作用,而在复选框元素上运行良好。

注意:将事件从 更改(change)(ngModelChange)对所有上述指定元素都非常有效。此外,(change)在所有这些事件升级之前,该事件都运行良好。

StackBlitz 重现问题 =>这里

ng -v 命令结果:

Angular CLI: 6.0.0
Node: 8.11.1
OS: win32 x64
Angular: 6.0.0
... animations, cdk, cli, common, compiler, compiler-cli, core
... forms, http, language-service, material, platform-browser
... platform-browser-dynamic, router

Package                           Version
-----------------------------------------------------------
@angular-devkit/architect         0.6.0
@angular-devkit/build-angular     0.6.0
@angular-devkit/build-optimizer   0.6.0
@angular-devkit/core              0.6.0
@angular-devkit/schematics        0.6.0
@ngtools/webpack                  6.0.0
@schematics/angular               0.6.0
@schematics/update                0.6.0
rxjs                              6.1.0
typescript                        2.7.2
webpack                           4.6.0

标签: javascriptangulartypescriptecmascript-6material-design

解决方案


MatSelect暴露selectionChange以发出 select 的更改事件,使用selectionChange事件而不是change事件,请参阅API

参考演示


推荐阅读