3

私はいくつかのデータを持っています:

0: {id: 1, name: "hhh", description: "hhh", isPopular: false,…}
1: {id: 2, name: "bbb", description: "bbb", isPopular: true,…}
2: {id: 3, name: "ccc", description: "ccc", isPopular: false,…}
3: {id: 4, name: "ddd", description: "ddd", isPopular: true,…}
4: {id: 5, name: "aaa", description: "aaa", isPopular: false,…}
5: {id: 6, name: "ggg", description: "ggg", isPopular: false,…}

私は ng-select に次のように表示したいと思います:

人気
のある bbb
ccc
残り
aaa
ccc
ggg
hhh

だから私は使用しました

<select ng-selected="true"
    ng-options="category.name group by category.isPopular for category in ctrl.categories |
        orderBy: ['-isPopular','name']"
    ng-model="myModel.category">
</select>

ただし、これは返されます:

aaa
ccc
ggg
hhh
true
bbb
ccc

グループにラベルを付けて、グループごとに並べ替えるにはどうすればよいですか?

4

2 に答える 2

3

グループの名前を に渡す必要がありますgroup by。例えば:

<select ng-selected="true"
    ng-options="category.name group by category.isPopular ? 'Popular' : 'The rest' for category in ctrl.categories |
        orderBy: ['-isPopular','name']"
    ng-model="myModel.category">
</select>
于 2015-07-10T13:52:30.663 に答える
2

グループ化したい場合は、これを使用する必要があると確信しています:

<select ng-selected="true"
    ng-options="category.name for category in ctrl.categories |
        groupBy: 'category.isPopular' |
        orderBy: ['-isPopular','name']"
    ng-model="myModel.category">
</select>

groupByAngular-filterにあるため、構文を正しくする必要があります。

于 2015-07-10T13:26:00.640 に答える