如何重置角度过滤器属性

时间:2014-02-03 22:26:51

标签: angularjs

我有一个过滤数据列表:

<tr ng-repeat="course in courses | filter:search:true">
    <td>
        <div>{{course.course_name}}</div>
    </td>
</tr>

和SELECT输入以帮助过滤它:

<select ng-model="search.location_id">
    <option value="">Location</option>
    <option ng-repeat="course in courses" value="{{course.location_id}}>{{course.location}}</option>
</select>

在课程位置之间切换以过滤数据时,一切都很有效。我的问题是,当我想显示所有数据并返回默认的SELECT选项(value =&#34;&#34;)时,数据消失并将其解释为无匹配,而不是取消设置过滤器。< / p>

我意识到如果我使用search:false,它将按预期工作,但我需要将此参数设置为true,我还需要一种方法来重置过滤器。

1 个答案:

答案 0 :(得分:2)

您应该在ng-options声明中使用select。您可以将单<option>value=""放在一起。如果您选择默认选项,search.location_id的值将为null,这应该是您所需要的。

<select ng-model="search.location_id" ng-options="course.location for course in courses">
    <option value="">Location</option>
</select>
关于Plunker的

Demo