【问题标题】:Filtering only specific fields in objects by following OR operator with AngularJS通过使用 AngularJS 的 OR 运算符仅过滤对象中的特定字段
【发布时间】:2016-06-08 09:26:45
【问题描述】:

我有一个物品清单。一个项目的例子:

{"id":7,"name":"ItemName","status":"Active","statusFrom":"2016-01-04T00:00:00","development":"Started","devStartedFrom":"2016-01-04T00:00:00","owner":"Owner"}

我希望过滤器只查看 namestatusowner 并返回任一(OR 运算符)对象。当过滤器定义如下:

<tr ng-repeat="item in items | filter: {name:myFilterquery, status:myFilterquery, owner:myFilterquery}">

过滤器通过AND运算符返回对象。

您将如何定义过滤器以仅通过对象的特定字段进行查询,但遵循 OR 运算符?

【问题讨论】:

    标签: javascript html angularjs json filtering


    【解决方案1】:

    拿起angular-filter 库并以这种方式定义解决方案:

    <tr ng-repeat="item in items | filterBy : ['name', 'status', 'owner'] : filterQuery">
    

    【讨论】:

      【解决方案2】:

      您可以在选择 OR 而非 AND 的地方进行自己的过滤:

      [
          {id: 123, name: 'abc'},
          {id: 456, name: 'xyz'},
          {id: 999, name: 'qwe'},
      ].filter(item => item.id === 123 || item.name === 'xyz') // [{id: 123, name: 'abc'}, {id: 456, name: 'xyz'}]
      

      更新:啊,你的意思是在标记中!

      在这里回答?:How to filter multiple values (OR operation) in angularJS

      【讨论】:

        猜你喜欢
        • 2016-01-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多