如何使用 ng-repeat在 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字段为 null 的行?

为了达到预期的结果,将空引号 '' 更改为未定义,这将返回包括空值在内的所有行

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>

代码笔与示例的参考 - https://codepen.io/nagasai/pen/WLPrPj

最新更新