AngularJS ngOptions搜索过滤器 - 删除重复的选择选项

时间:2014-12-26 22:02:06

标签: javascript angularjs

我有一个非规范化的api,它返回以下非规范化的产品集合。

id
name
type
product_type_id
country
product_country_id
created_at
updated_at

我可以使用ngRepeat在表格中显示所有结果。我创建了一个选择过滤器,根据其类型过滤掉产品。

问题是在我的集合中 - 类型列不是唯一的。

我的选择过滤器:

<select
    class="form-control"
    data-ng-model="search.product_type_id"
    data-ng-options="product.product_type_id as product.type for product in products">
    <option value="">Filter Product Types</option>
</select>

我的表ngRepeat:

<tr data-ng-repeat="product in products | filter : { search : '!null'}">
    <td><% product.type %></td>
    <td><% product.country %></td>
    <td><% product.name %></td>
    <td class="hidden-xs"><% product.created_at %></td>
    <td class="hidden-xs"><% product.updated_at %></td>
    <td>Actions</td>
</tr>

是否只有在产品中显示唯一product.type的快捷方式?

1 个答案:

答案 0 :(得分:0)

你可以使用angular-ui的独特过滤器,应该做你想做的事。

您可以阅读here

并像这样使用它:

<select
    class="form-control"
    data-ng-model="search.product_type_id"
    data-ng-options="product.product_type_id as product.type for product in products | unique:'type'">
    <option value="">Filter Product Types</option>
</select>