我对AngularJS非常陌生,今天在玩过滤器。我能够应用filter
筛选器来仅显示符合选择菜单中条件的行。但是,我无法为按钮添加“清除过滤器”功能。点击按钮时如何重置过滤器?如何清除过滤器 - AngularJS
在下面Plunker,你可以看到我用在尝试的代码实现这一点: Plunker - AngularJS Sample
我对AngularJS非常陌生,今天在玩过滤器。我能够应用filter
筛选器来仅显示符合选择菜单中条件的行。但是,我无法为按钮添加“清除过滤器”功能。点击按钮时如何重置过滤器?如何清除过滤器 - AngularJS
在下面Plunker,你可以看到我用在尝试的代码实现这一点: Plunker - AngularJS Sample
您可以使用ng-click
绑定click处理的范围之内清除query
变量。
的ng-click
指令可以被用于设置滤波器模型以任何falsey - 丁不可─false
JavaScript值,如''
,undefined
,null
或{}
。
在以下代码中,单击div
将重置customFilter
模型。
<input type="text" ng-model="customFilter" />
<div ng-click="customFilter = undefined">
Clear Filter
</div>
Here's a link to an updated fork of your Plunker project using Angular v1.4.1
一种非常快速和整洁的方法,无需向控制器添加点击功能。很简单。 – Neel
这个提示帮了我。但是我发现清除输入ng模型并没有解决我的问题,我需要清除过滤器对象,例如
@JoeKir我在Plunkr中添加了一个'示例,我的答案。 –
这个例子将帮助你清除,如果你使用的是NG表过滤器过滤器
<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单击如下
$scope.tableParams.parameters({ filter: {}, sorting: {}, page: 1 });
谢谢。这真的很有帮助。 – Sparda
如果我只想清除卧室过滤器,我试过'$ scope.query.bedroom = {}'它不起作用 – naCheex