我对AngularJS非常陌生,今天在测试过滤器时遇到了问题。我成功地应用了filter
过滤器来仅显示符合选择菜单条件的行,但是我无法在按钮上添加“清除过滤器”的功能。当单击该按钮时,如何重置过滤器?
在以下Plunker中,您可以看到我尝试使用的代码: Plunker - AngularJS示例
我对AngularJS非常陌生,今天在测试过滤器时遇到了问题。我成功地应用了filter
过滤器来仅显示符合选择菜单条件的行,但是我无法在按钮上添加“清除过滤器”的功能。当单击该按钮时,如何重置过滤器?
在以下Plunker中,您可以看到我尝试使用的代码: Plunker - AngularJS示例
ng-click
指令可用于将过滤器模型设置为任何虚值但不是false
的Javascript值,例如''
,undefined
,null
或{}
。
在下面的代码中,单击div
会重置customFilter
模型。
<input type="text" ng-model="customFilter" />
<div ng-click="customFilter = undefined">
Clear Filter
</div>
$scope.query.bedroom={}
,但它没有起作用。 - naCheex如果您正在使用ng-table过滤器,此示例将帮助您清除过滤器
<table ng-table="tableParams" show-filter="true" class="table table-striped table-bordered table-condensed table-hover cf">
<tbody>
<tr ng-repeat="tableData in $data">
<td data-title="'Name'" filter="{Name:'text'}" sortable="'{Name}'" />
</tr>
</tbody>
</table>
您可以通过以下方式从ng-click中清除过滤器
$scope.tableParams.parameters({ filter: {}, sorting: {}, page: 1 });
<input type="text" ng-model="foo">
示例链接。 - Walter Roman