我正在使用(焦点)=" showSearchList = true"显示文本输入的自动完成下拉列表。在输入上,并使用(blur)=" showSearchList = false"再次隐藏它。
我的问题是,如果单击下拉列表中的某个结果,我想触发另一个方法,但是通过单击下拉列表中的元素,我将触发输入的模糊方法,因此下拉结果不会被点击。使这项工作的最佳方法是什么?我使用的是ES6,而不是打字稿,我很难在谷歌上找到任何东西。
这是我到目前为止的模板:
{{1}}
我认为不是在模糊时将showSearchList设置为false,而是可以调用一个方法来检查哪个元素具有焦点,并根据它隐藏下拉列表,或运行我的addResultToResults方法然后隐藏下拉列表,但我有不知道如何检查哪个元素在angular2中有焦点。
会喜欢这方面的反馈!
答案 0 :(得分:2)
我建议使用mouseleave
事件来控制searchlist
并从blur
元素移动input
事件。如果您想在searchlist
点击项目后显示,则可以与click
事件结合使用。
Plunker demo 。