我有一个List<Content>
,并且想按列表字段的属性进行过滤。
内容
class Content {
// ...
final List<Tag> tags;
}
标签
class Tag {
// ...
final String name;
final String slug;
}
我来自Angular
map(data => data.filter(a => a.tags.some(t => t.slug.includes(this.slug)))),
通过Tag的Slug属性进行过滤。
但是现在是Dart,Flutter和rxdart。 我到目前为止:
applicationBloc.contentOutput.map(
(contents) => contents.where(
(item) => item.tags == widget.slug).toList()
)
contentOutput是BehaviorSubject的流。
基本上我只有几千个项目,只想显示带有特定标签的内容。
如何按Flutter / Dart中的列表的对象属性列表的属性进行过滤?
答案 0 :(得分:0)
使用类似的东西:
var foo = <Content>[];
var filtered = foo
.where((content) => content.tags.any((tag) => tag.slug == 'bingo'))
.toList();
将tag.slug == whatever
谓词替换为所需的任何测试。