2016-12-01 45 views
1

我正在使用Type2head的ng2-bootstrap,它工作正常。我輸入並獲得完成建議 - 但它似乎不可能不選擇任何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)"/> 

打字稿

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

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

我剛剛注意到,按ESC鍵打開關閉。但這不應該是必需的。在我的情況下,autocomplete/typeahead應該只是一個建議,而不是默認選項。 – Philipp

回答

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

這樣你就只按enter,你會得到的選項不必選擇其中一項建議。但是您需要確保只有兩個事件typeaheadOnSelectkeyup.enter中的一個最終會調用方法autocompleteOnselect(),以便您可以使用鎖或互斥鎖,儘管我不確定這是否是最佳做法。

相關問題