Как заполнить элементы пользовательского интерфейса при наборе текста?

Я использую ui-select чтобы показать элементы в теге select и выполнить поиск по элементам:

<ui-select name="courseId" ng-model="vm.course.id">
    <ui-select-match>
        <span ng-bind="$select.selected.title"></span>
    </ui-select-match>
    <ui-select-choices repeat="item.id as item in (vm.courses | filter: $select.search) track by item.id">
        <span ng-bind="item.title"></span>
    </ui-select-choices>
</ui-select>

Как я могу заполнить пункты, когда пользователь печатает и делает удаленный звонок вместо repeat Директива?

Например, может быть что-то вроде этого:

<ui-select name="courseId" ng-model="vm.course.id">
    <ui-select-match>
        <span ng-bind="$select.selected.title"></span>
    </ui-select-match>
    <ui-select-choices refresh="vm.searchCourses($select)">
        <span ng-bind="item.title"></span>
    </ui-select-choices>
</ui-select>

angular.module('rgh').controller('CourseController', CourseController);

function CourseController (Course) {
    var vm = this;
    vm.courses = [];
    vm.searchCourses = searchCourses;

    function searchCourses($select) {
        $http.post('/rest/course/all?searchTerm=' + $select.search).then(function (result) {
            vm.courses = result;
        });
    }   
}

0 ответов

Другие вопросы по тегам