2016-12-01 75 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(),以便您可以使用锁或互斥锁,尽管我不确定这是否是最佳做法。

相关问题