angularui bootstrap typeahead - предварительно заполнить выпадающий список onfocus

Я использую модуль angularui bootstrap typeahead для своего проекта.

Я не могу предварительно заполнить раскрывающийся список предопределенным значением.
Всякий раз, когда пользователь нажимает на введенный текст с опережением ввода, он должен автоматически отображать раскрывающийся список предложений ввода (из статического JSON).

Всякий раз, когда пользователь начинает печатать, поведение должно быть нормальным.

Я попробовал это решение, но, к сожалению, оно перестало работать, когда я обновил свой angularjs до версии 1.3.

введите здесь описание изображения


person Ritesh Kumar Gupta    schedule 13.05.2015    source источник


Ответы (1)


Таким образом, я, по сути, добился этого, создав пользовательскую директиву и внеся небольшую модификацию в код начального ввода пользовательского интерфейса. Вы должны обмануть ввод, чтобы он подумал, что кто-то что-то напечатал в нем. Я поместил маленькую стрелку раскрывающегося списка справа от поля, так что, по сути, это выглядело как раскрывающийся список, и нажатие на эту стрелку отображало ВСЕ варианты. Вы должны быть в состоянии сделать это с помощью onfocus.
В основном найдите код в загрузочном typeahead, который привязывается к ключевым событиям, и я изменил его, чтобы проверить событие нажатия клавиши 40

           if(scope.matches.length === 0 && evt.which === 40) {  // Added            
         //   COMMENT OUT  modelCtrl.$setViewValue(modelCtrl.$viewValue);
                          modelCtrl.$setViewValue('');  // Added
            }

Вам также необходимо убедиться, что для typeaheadMinLength установлено значение 0. Обратите внимание, что в приведенном выше коде он проверяет случай, когда пользователь НЕ набрал что-либо И специальное событие нажатия клавиши, которое я запускаю. Вы должны иметь возможность изменить это, чтобы срабатывать при включении фокуса. Я скопировал загрузочный typeahead в mytypeahead.js, а затем изменил его, как указано выше, вместе с несколькими другими незначительными модификациями, которые могут вам понадобиться или не понадобиться в зависимости от того, является ли поле «обязательным» или нет.

person Scott    schedule 13.05.2015