10

我对 AngularJS 很陌生,今天正在玩过滤器。我能够应用filter过滤器以仅显示与选择菜单中的条件匹配的行。但是,我无法向按钮添加“清除过滤器”功能。单击按钮时如何重置过滤器?

在下面的 Plunker 中,您可以看到我在尝试实现此目的时使用的代码: Plunker - AngularJS 示例

4

3 回答 3

28

ng-click指令可用于将过滤器模型设置为任何 false-but-not- Javascript 值,false例如''、或。undefinednull{}

在以下代码中,单击div将重置customFilter模型。

<input type="text" ng-model="customFilter" />
<div ng-click="customFilter = undefined">
    Clear Filter
</div>

这是使用 Angular v1.4.1 的 Plunker 项目的更新分支的链接

于 2014-04-09T00:23:16.253 回答
25

您可以使用ng-click绑定单击处理程序来清除query范围内的变量。

http://plnkr.co/edit/p1DnoV

于 2012-10-05T03:50:22.640 回答
0

如果您使用 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 });
于 2015-12-31T12:22:29.060 回答