检查这个PLNKR,我已经实现了预输入控制,默认情况下,在预输入控制中,它们没有设置任何最大高度或高度来列出,但根据要求,我必须将列表的高度固定为 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'];