9

我有一个使用AngularUI 的 typeahead 功能的文本字段。它看起来像这样:

<input typeahead="eye for eye in autocomplete[column] | filter:$viewValue">

我想强制用户从生成的列表中选择一个选项。如果他们键入的内容与列表中显示的内容不完全相同,则在模糊时(单击文本字段外部),我希望文本字段的值重置为原始值。

这个功能是 typeahead 指令的一部分,还是我需要扩展它?我在 google 和 stackoverflow 上搜索了大约 10 分钟,但找不到任何相关文档。

谁能指出我正确的方向来实现这一目标?

4

1 回答 1

15

插件中有一个属性仅强制现有值:typeahead-editable="false". 默认值为true

只有在$modelValue选择错误的值时才设置为空,这实际上是必要的,否则我们将无法写任何东西。$viewValue停留在最后输入的文本中。您也许可以将自己的模糊事件绑定到该字段以重置$viewValue

这是显示所选值的 JsFiddle:http: //jsfiddle.net/ZjPWe/61/

您还可以使用在typeahead-on-select选择值时需要回调的属性,但我不确定它是否可以使用,typeahead-editable="false"因为没有选择任何值。

于 2014-09-10T20:42:50.080 回答