<input
data-id={{field.id}}
type="text"
ng-model="add[field.id]"
typeahead="item for item in {{field.function}}($viewValue+'*')"
class="form-control"
typeahead-select-on-exact="true"
ng-if="field.function"
typeahead-editable="false"
typeahead-select-on-blur="true"
ng-pattern="field.validate.pattern?field.validate.pattern:''"
maxlength="{{field.validate.maxlength?field.validate.maxlength:''}}"
minlength="{{field.validate.minlength?field.validate.minlength:''}}"
required>
Я хочу изменить этот тег ввода, используя ui-select вместо typeahead. Я пытался
<ui-select
ng-if="field.function"
ng-model="add[field.id]"
theme="selectize"
ng-disabled="disabled"
style="width: 300px;">
<ui-select-match>{{$select.selected}}</ui-select-match>
<ui-select-choices repeat="item for item in {{field.function}}($select.search +'*')">
</ui-select-choices>
</ui-select>
Я не могу преобразовать
typeahead="item for item in {{field.function}}($viewValue+'*')"
здесь я вызываю функцию, возвращающую значение, основанное на том, что набирается.
используйте ngInit для получения значения
<div ui-select ng-init="vm.$select = $select"></div>
<button ng-click="vm.search(vm.$select.search)">Search</button>