Angular Country sort

时间:2015-11-22 20:57:28

标签: angularjs select countries

我为国家/地区创建了一个Angular Select框。我的数组看起来像这样:

AD:"安道尔"

AE:"阿拉伯联合酋长国"

AF:"阿富汗"

AG:"安提瓜和巴布达"

AI:"安圭拉"

我的NgRepeater看起来像这样

<li nya-bs-option="(k, v) in fields.country.available" data-value="v" data-label="{{v}}">

正如您所看到的,&#39; Key&#39;按顺序自动按字母顺序排列。但是,我希望“价值”能够实现。按字母顺序排列。我试过了:

<li nya-bs-option="(k, v) in fields.country.available | orderBy:'v'" data-value="v" data-label="{{v}}">

但这并没有奏效。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

<key>:<value>结构而言,您的数组看起来更像是一个对象。在这种情况下,您需要为orderBy编写自己的过滤器,因为angular不能使用此过滤器对对象键进行排序。

另请参阅:sample code

尽管上面的帖子中有解决方案,但如果可能,我建议在国家/地区使用另一种结构:

[{id: 'AD', name: 'Andorra'}, ...]

然后你可以在ng-repeat

中执行此操作
country in fields.country.available | orderBy: 'id'