Angular-UI:强制预先输出结果

时间:2014-09-10 20:09:05

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

我有一个使用AngularUI's typeahead feature的文字字段。它看起来像这样:

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

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

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

任何人都可以指出我正确的方向来实现这个目标吗?

1 个答案:

答案 0 :(得分:14)

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

当选择了错误的值时,只有$modelValue被设置为空,这实际上是必要的,否则我们将无法写任何内容。 $viewValue保留最后输入的文字。您可以将自己的模糊事件绑定到字段以重置$viewValue

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

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