我有数百万条记录需要获取并将其绑定到我的angularjs应用程序中的select下拉列表中。但是,正如我们所知道的那样,它会导致性能问题。所以我正在寻找严肃的解决方案,就像选择下拉列表中的ui-grid无限滚动功能一样。
HTML模板:
<select ng-model="zipCode" ng-options="zip.FZIP as zip.FZIP for zip in zipCodes | limitTo: totalDisplayed" ng-init="zipCodeInit()" ng-change="loadMore(totalDisplayed);"></select>
控制器代码:
$scope.totalDisplayed =1000;
$scope.loadMore = function (startCount) {
var endCount=startCount + 1000;
$http.get('api/get-zip-codes?rowStartCount=startCount&rowEndCount=endCount').then(function(response){
$scope.data = $scope.data + response.data;
$scope.totalDisplayed += 1000;
});
};
这里我的问题是在我的选择下拉列表的滚动上调用loadmore函数。我目前的实施是ng-change。
任何想法或解决方案都有助于在此选择下拉列表中进行预期的更改。
答案 0 :(得分:0)
使用这个jQuery插件它会帮助你
答案 1 :(得分:0)
您可以参考Solution For Very Long Dropdown Menus。
这会有所帮助,它包含所有代码以及视觉效果。
答案 2 :(得分:0)
我只是意识到我们无法通过动态下拉列表在滚动条件上加载数据,这是要求,因为要列出大量记录,例如2Lakhs +记录。为了克服这个问题,我使用了预测搜索/自动完成文本框,它根据用户输入完美地与我合作。 谢谢你的回答。