【发布时间】:2021-04-19 02:53:35
【问题描述】:
我有用户列表。我需要根据性别对这些用户数据进行排序。性别 = { 0: '男', 1: '女', 2: '其他'}.
我希望以这样的方式排序日期,即首先列出女性,然后是男性,然后是其他人,即 {1, 0, 2}。
class User {
String id;
String name;
int gender;
User({
this.id,
this.name,
this.gender,
})
factory users.fromMap(Map<String, dynamic> data, String documentId) {
if (data == null) {
return null;
}
return User(
...
);
}
Map<String, dynamic> toMap() => <String, dynamic>{
...
}
}
有没有办法根据上面的条件对数据进行排序,再次返回一个流?
我从数据库收到的流如下:
Stream<List<User>> users =
database.usersStream();
现在,用户对象可以使用 rxdart 排序还是有其他方法? 以及如何做到这一点?
【问题讨论】:
-
为什么不直接从数据库中检索用户列表?您可以过滤对数据库的请求中的数据并立即仅获取所需的实体,而无需为无法使用的对象创建实例。
-
谢谢你,但我稍后有一个场景,我需要解决它。此排序不是升序或降序,而是 1,0,2。