我为国家/地区创建了一个Angular Select框。我的数组看起来像这样:
AD:"安道尔"
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}}">
但这并没有奏效。有人可以帮忙吗?
答案 0 :(得分:0)
就<key>:<value>
结构而言,您的数组看起来更像是一个对象。在这种情况下,您需要为orderBy
编写自己的过滤器,因为angular不能使用此过滤器对对象键进行排序。
另请参阅:sample code
尽管上面的帖子中有解决方案,但如果可能,我建议在国家/地区使用另一种结构:
[{id: 'AD', name: 'Andorra'}, ...]
然后你可以在ng-repeat
:
country in fields.country.available | orderBy: 'id'