gpt4 book ai didi

angularjs - orderBy 可以与 AngularUI typeahead 一起使用吗?

转载 作者:行者123 更新时间:2023-12-03 06:53:07 26 4
gpt4 key购买 nike

这个问题是related to another question我问。

我已经成功让 AngularUI Typeahead 正常工作。但是,我的 orderBy 过滤器似乎没有执行任何操作。

此选择框正确排序所有内容(距离是自定义函数):

<select ng-model="fromStation"
ng-options="item.name for item in stations.station | orderBy:distance">

但是这个提前输入:

<input type="text" ng-model="fromStation" 
typeahead="item as item.name for item in stations.station
| filter:$viewValue | limitTo:8 | orderBy:distance">

根本不改变顺序(即它仍然按字母顺序排序)。我想要实现的是,当用户输入火车站的第一个字母(在本例中)时,距离他最近且包含该字母的车站将首先出现。是否可以实现此功能,或者此功能尚不可用?

最佳答案

如果没有看到最小的重现场景,很难百分百确定(这就是为什么使用 http://plnkr.co/ 或类似的实时最小示例总是一个好主意),但查看您的 HTML 代码I认为问题在于应用过滤器的顺序

如果您首先应用 limitTo 过滤器,它只会从未排序的数组中截取前 8 个结果,然后才会对截取集进行排序。尝试恢复 orderBylimitTo 过滤器的顺序,如下所示:

<input type="text" ng-model="fromStation" typeahead="item as item.name for item in stations.station | filter:$viewValue | orderBy:distance | limitTo:8">

看看这是否有效,如果没有 - 使用 plunker 发布一个最小的重现场景。

关于angularjs - orderBy 可以与 AngularUI typeahead 一起使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22113202/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com