2016-12-01 16 views
1

ng2-bootstrapのTypeaheadを使用していて、正常に動作します。私は入力して完了の提案を得る - しかし、それは不可能であると思われるを選択しないでください。angular 2 - ng2-bootstrap typeahead - オプションを選択しない方法は?

例: 検索入力フィールドに「lorem ip」と入力し、「lorem ipsum」の候補を取得します。私は "lorem ip"を提出することができません。常に事前選択されたオプションがあり、入力時に提出されます。

はまだ選択できません。 または、誰でもどのようにを回避するか考えていますか?ここで

は私のコードです:

HTML

<input [(ngModel)]="query" name="query" type="text" required 
     [typeaheadOptionField]="'value'" 
     [typeahead]="autocomplete()" 
     [typeaheadMinLength]="3" 
     (typeaheadOnSelect)="autocompleteOnSelect($event)"/> 

typescriptです

autocomplete(): Observable<SearchAutocompleteSuggest[]> { 
    return this.documentService.autocomplete(this.searchRequest); 
} 

public autocompleteOnSelect(e:any):void { 
    this.search(); 
} 
+0

私はちょうど、ESCを押すことによって先読みが閉じられることに気づいた。しかし、これは必須ではありません。私の場合は、オートコンプリート/先読みは、デフォルトオプションではなく、示唆に過ぎないはずです。 – Philipp

答えて

1
<input [(ngModel)]="query" name="query" type="text" required 
    [typeaheadOptionField]="'value'" 
    [typeahead]="autocomplete()" 
    [typeaheadMinLength]="3" 
    (typeaheadOnSelect)="autocompleteOnSelect($event)" 
    (keyup.enter)="autocompleteOnselect($event)"/> 

あなただけ入力して、あなたを押してオプションを取得します。この方法提案の1つを選択する必要はありません。しかし、2つのイベントtypeaheadOnSelectkeyup.enterのうち1つだけがautocompleteOnselect()メソッドを呼び出すことになり、ロックやmutexを使用できるようにする必要がありますが、それはベストプラクティスかどうかわかりません。

関連する問題