有意义的角度预先/自动完成

时间:2016-01-01 21:14:43

标签: angularjs typeahead

基本上,我的客户要求我做的是在Facebook / youtube评论中标记朋友。

  1. 必须以@
  2. 开头
  3. 建议列表的弹出窗口,在选中后,该值将附加回原始的满足
  4. 我试过了 https://angular-ui.github.io/bootstrap/ 和ngTagsInput,它们很接近但不够......谢谢

2 个答案:

答案 0 :(得分:2)

我打赌这就是你要找的http://angular-ui.github.io/ui-mention/example/。我不得不承认我花了很多天才找到它(通过谷歌)

祝你好运

答案 1 :(得分:1)

您正在为代码构建自动填充功能。如果您打算重用它,那么您需要编写自定义指令。如果没有,那么你可以在控制器内部进行混乱的实现。

您需要编辑的html元素如下所示:

<div ng-model="newtag" ng-change="tagchanged()" ng-bind="newtag"></div>

ng-change将在更改时触发,因此您的功能需要进行去抖(等待一段时间)才能等到用户完成输入。您可以使用500毫秒的setTimeout完成此操作。如果在该时间段内发生变化,请终止超时。但是,如果它没有,请执行api调用以获取潜在标记列表并将其显示在字段下方的列表中。您希望结果的css让它们与搜索字段对齐,并将鼠标悬停在页面的其余部分上方。