0

我有这样的NG-重复条件:angularjs清晰过滤器NG重复

<tr ng-repeat="(k, v) in loanapps | filter:{LoanStatus:SelectedStatus}:true track by $index"> 
    <td> 
     {{v.Id}} 
    </td> 
    <td> 
     {{v.Name}} 
    </td> 
</tr> 

筛选工作正常,当我有SelectedStatus值。现在我也想重置过滤器并显示所有结果。

我有这个按钮点击功能:

$scope.ResetStatusFilter = function() { 
    $scope.SelectedStatus = null; 
} 

我也试过:

$scope.ResetStatusFilter = function() { 
    $scope.SelectedStatus = ''; 
} 

但是,这做的是清理掉所有的结果是什么。

反正有没有,我怎样才能显示所有的结果,并排除过滤器,一旦按钮被点击?

的选择列表是这一个:

<select ng-model="SelectedStatus"> 
    <option value="Under Review">Under Review</option> 
    <option value="Waiting for Meeting">Waiting for Meeting</option> 
    <option value="Processing">Processing</option> 
</select> 

感谢,Laziale

+0

使用自定义过滤器清除过滤器 - https://docs.angularjs.org/guide/filter – bhantol

+0

THX @bhantol你能PLS举个例子,我应该如何在我的情况下应用自定义过滤器,谢谢 – Laziale

+0

列表第一次加载时,'''selectedstatus'''的默认值是什么,并且您是否尝试将其设置回该值? – Vinny

回答

1

尝试改变filter:{LoanStatus:SelectedStatus}:truefilter:SelectedStatus

+0

谁会知道哪个字段适用? Thx寻求帮助 – Laziale

+0

可能希望参考文档,但我相信过滤器会默认搜索整个对象以获取字符串值。双重检查@ https://docs.angularjs.org/api/ng/filter/filter – Vinny

+0

这实际上是工作,谢谢 – Laziale

0

试试这种短路技术。

<tr ng-repeat="(k, v) in loanapps | 
      filter: (LoanStatus.SelectedStatus && 
    {LoanStatus:SelectedStatus}:true) track by $index"> 
+0

过滤器现在不工作,thx – Laziale

+0

现在应该工作 - 我有':'而不是'.' – bhantol

0

,而不是使用filter:{LoanStatus:SelectedStatus}:truefilter:SelectedStatus

您可以通过使用

$scope.SelectedStatus ={} 

它将清除过滤器