2016-04-18 2 views
1

У меня есть следующий контроль, определенный:Угловое машинописный не вызывает на пробелы

<input     id="inputSearchMovies" 
         type="search" 
         ng-model="filterItems" 
         placeholder="Search for movies ..." 
         typeahead="prediction for prediction in getPredictions($viewValue) | limitTo:10" 
         typeahead-min-length='1' 
         typeahead-on-select='onSelectPart($item, $model, $label)' 
         typeahead-template-url="customTemplate.html" 
         class="form-control shortInputSearch" 
         style="width: 98% !important" /> 

Это бутстрапированная к функции getPredictions, которая выполняет вызов, как я типа.

Проблема механизм машинописный не вызывается, когда входные пробелы:

  • «Лоуренс Араб» -> набрав «я», работает нормально (вызывает функцию прогнозирования): «Лоуренс Араби»
  • «Лоуренс араб» -> типирование пространство не вызывает никакого вызова предсказания: «Лоуренс араб» (без вызова к серверу)

Как я могу это исправить, чтобы выполнить вызов на каждом изменении характера (пробелы или нет)?

ответ

2

Ваша проблема не в том, что она исходит от ui-bootstrap, она исходит из пути угловых рукояток input s. Он автоматически обрезает значение input, прежде чем он установит значение ng-model. Поскольку значение заканчивается тем же, каким оно было раньше (поскольку оно обрезано), оно не учитывает это изменение значения и поэтому не вызывает ngModelController$parsers, что и используется ui-bootstrap, чтобы вызвать его «getMatchesAsync», (или ваш «механизм типа»).

Не волнуйтесь, эта функция может быть отключена с помощью ng-trim так:

<input typehead... ng-trim="false"></input> 

Здесь он находится в угловых Docs под Аргументы ngTrim: https://docs.angularjs.org/api/ng/input/input%5Btext%5D

Если установлено значение ложь Угловое не будет автоматически обрезать вход. Этот параметр игнорируется для элементов управления [type = password], которые никогда не будут обрезать вход. (по умолчанию: правда)



Я знаю, что название говорит type=text, но я посмотрел на угловой код и этот атрибут относится также к type=search. Я могу показать этот код, если это необходимо.

+0

Спасибо, помощник. Работает как шарм! –

Смежные вопросы