首页 > 解决方案 > Angular 6+ - 使用输入文本过滤器处理关键事件

问题描述

我正在开发一个 Angular 应用程序,我们在其中定义了一个文本过滤器组件。

在组件 HTML 文件中

<input type="text" [(ngModel)]="filterText" (input)="valueChange()" (keydown.enter)="myFunction ($event)" />

用户输入文本并在下面按回车时的当前行为是执行顺序。

  1. 我的函数 ()
  2. 值变化()

预期valueChange()在myFunction()之前被调用。

任何帮助深表感谢。

这在 IE11+ 和极少数情况下会在其他浏览器中默认发生。

标签: javascriptangularangular6keyeventtextinput

解决方案


您可以使用keyup这样的事件:

<input type="text" [(ngModel)]="filterText" (input)="valueChange()" (keyup.enter)="myFunction($event)" />

实际上顺序是:keydown, input,keyup


推荐阅读