如何使用ng-repeat过滤AngularJS中的多个值?

时间:2019-01-14 16:13:07

标签: javascript html angularjs

数据库中的sales_Use_Taxable字段可以是以下三个选项之一:“是”,“否”,或者也可以为null。使用以下代码过滤结果,它不会显示该字段为空的行。

<tr ng-repeat="h in vm.filteredRequisitions = (vm.headers | filter: { por_Detail: { sales_Use_Taxable: vm.tax || '' } }) ...>

我相信这段代码的重要部分是sales_Use_Taxable: vm.tax || ''。如何编辑此行以包含sales_Use_Taxable字段为空的行?

1 个答案:

答案 0 :(得分:1)

要获得预期的结果,请将空引号''更改为 undefined ,这将返回所有包含空值的行

var app = angular.module("myApp", []);
app.controller("myCtrl", function($scope) {
  //$scope.tax = 'YES'
  $scope.headers = [
    {"por_Detail" : {
       "sales_Use_Taxable" : null
    } },
    {"por_Detail" : {
       "sales_Use_Taxable" : 'YES'
    } },
    {"por_Detail" : {
       "sales_Use_Taxable" : 'NO'
    } }
  ]
});
<html>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script>

<body ng-app="myApp" ng-controller="myCtrl as vm">
<table>
<tr ng-repeat="h in headers | filter: { por_Detail: { sales_Use_Taxable: tax || undefined} }">
  <td>{{h}}</td>
  </tr>
  </table>



</body>
</html>

codepen以供参考-https://codepen.io/nagasai/pen/WLPrPj