Текстовое поле не работает должным образом, когда я использую атрибут typeahead

Я использую typeahead в своем проекте angularjs.

У меня есть эти значения для отображения в текстовом поле с атрибутом typeahead:

  $scope.cities = [{id:1,address:'Berlin'},
                   {id:2,address:'Bonn'},
                   {id:3,address:'London'},
                   {id:4,address:'Miami'}];

А вот текстовое поле ввода с атрибутом typeahead:

<input type="text" 
ng-model="city" 
ng-model="initFoo(1)"  
uib-typeahead="city as city.address for city in cities | filter:$viewValue"
class="form-control"  
typeahead-show-hint="true" 
typeahead-min-length="0"/>

Вот плункер.

Когда начальное значение установлено с помощью initFoo, я не могу удалить выбранное или ввести текстовое поле.

Любая идея, как я могу установить начальное значение и оставить текстовое поле доступным для выбора и печати?




Ответы (1)


Вы должны использовать ng-init вместо ng-model для инициализации модели

  <input type="text" 
  ng-init="city = initFoo(1)"
  ng-model="city"
  uib-typeahead="city as city.address for city in cities | filter:$viewValue"
  class="form-control" 
  typeahead-show-hint="true" 
  typeahead-min-length="0"/>`
person sumair    schedule 14.05.2016