簡體   English   中英

Angular2 md-autocomplete:如何管理onkeydown?

[英]Angular2 md-autocomplete : How to manage onkeydown?

我在應用程序中實現了Angular2材質自動完成功能。 我現在正在尋找一種方法來正確管理keydown.enter功能。

因為下面的單擊功能可以按我期望的方式工作,所以我自然嘗試了:

<md-input-container>
 <input type="text" placeholder={{appName}} mdInput [formControl]="term" [mdAutocomplete]="auto">
 </md-input-container>
<md-autocomplete #auto="mdAutocomplete" md-focus>
 <md-option *ngFor="let item of items" [value]=item.title (click)="loadData(item)" (keydown.enter)="loadData(item)">              
   <span>{{item.title}}</span>
 </md-option>
</md-autocomplete>

但是該功能未觸發。 如果我在md-input-container移動keydown.enter函數,如下所示:

<md-input-container >
 <input type="text" placeholder={{appName}} mdInput [formControl]="term" [mdAutocomplete]="auto" (keydown.enter)="loadData(item)">
</md-input-container>
<md-autocomplete #auto="mdAutocomplete" md-focus>
 <md-option *ngFor="let item of items" [value]=item.title (click)="loadData(item)">              
  <span>{{item.title}}</span>
 </md-option>
</md-autocomplete>

它可以工作,但是后來我再也無法訪問我的item元素了...

我敢肯定有一個簡單的方法可以解決此問題,但我一直無法弄清楚。 如何在md-input-container獲取我的item對象?

這是一個柱塞。

您可以通過調用(onSelect)="loadData(item)"而不是'click'和'keydown'函數來在md-option中獲取所選項目。

編輯:正如下面約書亞指出的那樣,您現在應該調用onSelectionChange事件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM