sah*_*ah1 2 angular-material angular angular5
我正在尝试想出类似 Facebook 上的标记功能的东西,即每当按下“@”键时,我的自动完成功能就会被触发,并且我应该能够看到与输入帖子“@”的数据相对应的选项。
我无法绑定 keydown(或任何按键事件)上的自动完成功能
任何有关如何实现此功能的建议将不胜感激,我的最后手段是提出我自己的自动完成模块
您可以执行以下操作来完成此操作。
创建一个ViewChild以获取对MatAutocompleteTrigger
@ViewChild(MatAutocompleteTrigger) _auto: MatAutocompleteTrigger;
Run Code Online (Sandbox Code Playgroud)
创建一个HostListener来设置formControl值并在按下键@时打开面板。@
@HostListener('document:keydown', ['$event']) onKeydownHandler(event: KeyboardEvent) {
if (event.key == '@') {
this.stateCtrl.setValue('@');
this._auto.openPanel();
}
}
Run Code Online (Sandbox Code Playgroud)
斯塔克闪电战
在这个 stackblitz 中,点击视图来设置焦点,否则事件不会触发HostListener
https://stackblitz.com/edit/angular-4x3zte?embed=1&file=app/autocomplete-overview-example.ts
| 归档时间: |
|
| 查看次数: |
2393 次 |
| 最近记录: |