我在解决这个似乎很麻烦的问题时遇到了麻烦。
当我选择(使用键盘或鼠标)从typeahead的下拉列表中选择一个值时,输入字段中的ng-model就会很好地填充。
但是,如果我输入几个字母然后单击“转义”按钮,则由于我没有选择值,因此“ textFieldValue” ng模型似乎被“未定义”所覆盖。
解决此问题的最佳方法是什么?还是太多了?
<input type="text" ng-model="textFieldValue"
typeahead="list for list in getList($viewValue)" typeahead-editable="false">
最佳答案
您可以通过使用临时值来实现。
将温度值分配为提前输入
<input type="text" ng-model="tempValue" typeahead="list for list in getList($viewValue) | filter:$viewValue" typeahead-editable="false" >
监视tempValue并决定是否更新目标值。
$scope.$watch('tempValue', function(tempValue){
if(shouldUpdateTheTargetValue(tempValue)) {
$scope.targetValue = tempValue;
}
});
我为此创造了一个小矮人。 -http://plnkr.co/edit/r63027iRobX4skV9YK60?p=preview