Я пытаюсь отфильтровать коллекцию 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'))
));
Как, однако, я могусоздайте фильтр, чтобы показать мне только тех игроков, которые играют за Red Sox, например.Я пытался использовать метод filter.contains (), но я не могу найти адекватную документацию о том, как он работает.Глядя на код dstore, я вижу, что метод filter.contains () имеет следующую сигнатуру: (значение, обязательный, объект, ключ), но это мне мало помогает.
Любое руководство будет высоко оценено,Заранее спасибо!