我有一个过滤数据列表:
<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,我还需要一种方法来重置过滤器。
答案 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。