Как я могу отфильтровать несколько значений в AngularJS, используя ng-repeat? - PullRequest
0 голосов
/ 14 января 2019

Поле sales_Use_Taxable в базе данных может быть одним из трех вариантов: «Да», «Нет» или также может быть пустым. Используя приведенный ниже код для фильтрации результатов, он не отображает строки с нулевым значением для этого поля.

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

Я считаю, что важной частью этого кода является sales_Use_Taxable: vm.tax || ''. Как я могу отредактировать эту строку, чтобы включить строки, которые имеют значение NULL для поля sales_Use_Taxable?

1 Ответ

0 голосов
/ 14 января 2019

Чтобы достичь ожидаемого результата, измените пустые кавычки '' на 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>

код для справки с примером - https://codepen.io/nagasai/pen/WLPrPj

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...