Typeahead Angular JS:输入模糊后在焦点上显示结果

Typeahead Angular JS: Show results on focus after input blur

Codepen demo

如您所见,如果您 typeahead 显示任何结果,在模糊输入后,查询的 ng-repeat 将被清除。 虽然我希望它隐藏但留在那里,以便它可以在 input.

重新聚焦时立即再次显示

如何让 typeahead 不清除 ng-repeat 列表?

Exact demo of functionality I am trying to achieve

  1. 输入任意字母
  2. 模糊输入
  3. 再次聚焦,相关搜索结果即刻呈现。

它与我链接的代码笔不同。

按以下方式编辑 dismissClickHandler 可以解决该问题。

var dismissClickHandler = function (evt) {
    if (element[0] !== evt.target) {
        resetMatches();
        scope.$digest();
    } else if (element.val().length) {
        element.focus();
        hasFocus = true;
        getMatchesAsync(element.val());
    }
};