我有一个输入,其中包含angular-ui-typeahead的自动完成功能。
用户开始输入,他们可以从自动填充中选择一个选项,或者键入未列出的文本。
如果用户未使用自动填充功能,我必须更改标签文字,说this element will be added
<input
ng-blur="checkIfNewProvider()"
ng-model="providerSelected"
uib-typeahead="provider as provider.name for provider in providers | filter:$viewValue | limitTo:8" placeholder="{{ 'new-product.provider.placeholder' | locate }}"
/>
如果选择的选项是否在自动完成上,我正在检查字段的模糊。
问题在于,当用户点击自动编辑显示的选项菜单时,会触发模糊,并且标签会更改。
再次离开该字段后,再次触发模糊,并修复标签文本。
我可以触发什么事件,或者我该怎么做才能解决这个问题?
答案 0 :(得分:0)
您可以使用指令的属性typeahead-on-select($item, $model, $label)
从下拉列表中选择元素时触发功能 >:
<input
type="text"
ng-blur="blur()"
typeahead-on-select="blur()"
ng-model="selected"
uib-typeahead="provider as provider.name for provider in providers | filter:$viewValue | limitTo:8" class="form-control">
另一个尝试,但并未真正建议,将$watch
模型并检查它是否与数组中的元素匹配。