Angular UI Typeahead - 手动清除/隐藏下拉列表

时间:2014-12-30 09:21:22

标签: javascript angularjs angular-ui-bootstrap angular-ui-typeahead

我的用例相当简单。我使用typeahead指令作为搜索框,并且想要在输入时手动清除/隐藏其下拉菜单(并且您没有选择任何内容) - 就像谷歌那样。

P.S。清除下拉列表时,我的搜索框中的文本需要保持不变

2 个答案:

答案 0 :(得分:3)

您必须将typeahead元素包装在表单中。如果您这样做,预先输入将提交表格。如果添加ng-submit指令,则可以将所需的行为放在那里。

<form ng-submit="search(query)">
  <input type="text" ng-model="query"
     typeahead="foo as foo for foo in bars"
     typeahead-on-select="onSelect($item)"
     typeahead-focus-first="false"
     />
</form> 

使用版本0.12.0的angular-bootstrap测试。请参阅相关问题中的评论:https://github.com/angular-ui/bootstrap/pull/2916

  

预期的行为是,当从输入点击输入并且没有任何焦点时,提交外部表单

答案 1 :(得分:0)

仅执行beow代码将关闭UI Typeahead列表/下拉列表,除非它不会损害您的应用程序:

$('body')。click();