通过使用 AngularJS 遵循 OR 运算符仅过滤对象中的特定字段

Filtering only specific fields in objects by following OR operator with AngularJS

本文关键字:对象 过滤 字段 运算符 AngularJS OR 遵循      更新时间:2023-09-26

我有一个项目列表。一个项目的示例:

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

我希望过滤器只查看名称状态所有者,并返回(OR 运算符)对象。当过滤器定义如下时:

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

筛选器通过跟 AND 运算符返回对象。

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

您可以自己进行过滤,您可以选择 OR OVER 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'}]

更新:啊,你的意思是在加价中!

回答在这里?: 如何在 angularJS 中过滤多个值(OR 操作)

拿起角度滤波器库并以这种方式定义解决方案:

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