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

Jos*_*osa 9 twitter-bootstrap angularjs angular-ui angular-ui-bootstrap angular-ui-typeahead

我有一个使用AngularUI的预先输入功能的文本字段.它看起来像这样:

<input typeahead="eye for eye in autocomplete[column] | filter:$viewValue">
Run Code Online (Sandbox Code Playgroud)

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

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

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

jpm*_*rin 14

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

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

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

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