我正在尝试通过具有值数组的字段过滤 dstore 集合。我的 json 数据如下所示(简化):
[{
user_id: 1,
user_name: "John Doe",
teams: [{team_id: 100, team_name: 'Red Sox'}, {team_id: 101, team_name: 'Buccaneers'}]
},
{
user_id: 2,
user_name: "Fred Smith",
teams: [{team_id: 100, team_name: 'Buccaneers'}, {team_id: 102, team_name: 'Rays'}]
}]
我可以对用户名字段进行简单的过滤,并且效果很好。
this.dstoreFilter = new this.dstore.Filter();
var results = this.dgrid.set('collection', this.dstore.filter(
this.dstoreFilter.match('user_name',new RegExp(searchTerm, 'i'))
));
但是,我如何构建一个过滤器来只显示那些为红袜队效力的球员,例如。我试过使用 filter.contains() 方法,但我找不到任何关于它如何工作的足够文档。查看 dstore 代码,我看到 filter.contains() 方法具有以下签名:(value, required, object, key),但这对我没有多大帮助。
任何指导将不胜感激。提前致谢!