我有一个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的流。
本质上,我有几个1000个项目,并希望只显示与某个标签的内容。
如何按Flutter/Dart中的对象特性列表的特性进行过滤?
发布于 2019-10-17 06:29:20
使用像这样的东西:
var foo = <Content>[];
var filtered = foo
.where((content) => content.tags.any((tag) => tag.slug == 'bingo'))
.toList();将tag.slug == whatever谓词替换为所需的任何测试。
https://stackoverflow.com/questions/58422030
复制相似问题