Проверьте это PLNKR, я внедрил элемент управления typeahead. По умолчанию в элементе управления typeahead они не устанавливают максимальную высоту или высоту для списка, но согласно требованию я должен зафиксировать высоту списка до 110 пикселей. Итак, когда у нас есть более длинный список за раз, будут показаны только 4 данных, а остальные можно увидеть, прокрутив вниз. Прокрутка работает, когда пользователь нажимает стрелки вверх/вниз, но не работает с клавишами вверх/вниз на клавиатуре.
Проблема объясняется по шагам: -
- Введите что-нибудь, например, «a», чтобы получить данные в виде (список будет заполнен)
- Нажмите клавишу со стрелкой вниз (фокус будет на элементе списка)
- Нажмите клавишу со стрелкой вниз 4–5 раз, чтобы перейти вниз (когда мы перемещаемся вниз к списку, прокрутка не перемещается).
- Он всегда показывает первые 4 элемента в списке. Идеальное поведение - оно должно смещаться.
Пользователь может прокручивать, нажимая на прокрутку вручную, но с помощью клавиши со стрелкой он не прокручивается.
HTML
<!doctype html>
<html ng-app="ui.bootstrap.demo">
<head>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.16/angular.js"></script>
<script src="//angular-ui.github.io/bootstrap/ui-bootstrap-tpls-0.12.0.js"></script>
<script src="example.js"></script>
<link href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css" rel="stylesheet">
<link href="style.css" rel="stylesheet">
</head>
<body>
<div class='container-fluid' ng-controller="TypeaheadCtrl">
<h4>Static arrays</h4>
<pre>Model: {{selected | json}}</pre>
<input type="text" ng-model="selected" typeahead="state for state in states | filter:$viewValue | limitTo:8" class="form-control">
</div>
</body>
</html>
CSS
.dropdown-menu{
height:110px;
overflow:auto;
}
список данных JavaScript
$scope.states = ['Alabama', 'Alaska', 'Arizona', 'Arkansas', 'California', 'Colorado', 'Connecticut', 'Delaware', 'Florida', 'Georgia', 'Hawaii', 'Idaho', 'Illinois', 'Indiana', 'Iowa', 'Kansas', 'Kentucky', 'Louisiana', 'Maine', 'Maryland', 'Massachusetts', 'Michigan', 'Minnesota', 'Mississippi', 'Missouri', 'Montana', 'Nebraska', 'Nevada', 'New Hampshire', 'New Jersey', 'New Mexico', 'New York', 'North Dakota', 'North Carolina', 'Ohio', 'Oklahoma', 'Oregon', 'Pennsylvania', 'Rhode Island', 'South Carolina', 'South Dakota', 'Tennessee', 'Texas', 'Utah', 'Vermont', 'Virginia', 'Washington', 'West Virginia', 'Wisconsin', 'Wyoming'];