flutter 如何获得一个类的项目

标签 flutter dart

我是 Flutter 的新手,我想知道如何获取 User 类的特定项目。
这是我的类(class)用户:

class UsersList{
  List<User> users;

  UsersList({
    this.users
  });

  factory UsersList.fromJson(List<dynamic> json) {
    List<User> users= List<User>();

    users= json.map((i) => User.fromJson(i)).toList();

    return UsersList(
      users : users
    );
  }

  Map<String, dynamic> toJson() => {
    "users": users,
  };

  @override
  String toString() {
    return '{'
        'users: ${this.users},'
        '}';
  }
}

class User{
  int type;
  String name;
  bool gender;

  User({
    this.type,
    this.name,
    this.gender,
  });

  factory User.fromJson(Map<String, dynamic> json){
    return User(
      type : json['type'],
      name: json['name'],
      gender : json['gender'],
    );
  }

  Map<String, dynamic> toJson() => {
    "type" : type,
    "name" : name,
    "gender" : gender,
  };

  @override
  String toString() {
    return '{'
        'type : ${this.type},'
        'name: ${this.name},'
        'gender : ${this.gender},'
        '}';
  }
 }
我想获得一个特定的用户,这是我的功能:
我的函数中有一个关键参数,可以根据我想要的值进行搜索(例如:姓名、性别、...)但我看不到如何在我的类中使用这个参数,因为它没有认 key ?
static User getUser(var value, String key, UsersList items)
  {
    print(items.users.where((c) => (c.key == value)).toList().first);
  }
这是好方法吗?

最佳答案

您想使用 key 访问用户,为此您可以使用 toJson() 方法,例如

static User getUser(var value, String key, UsersList items){
    return users.where((c) => (c.toJson()['name'] == 'name')).toList().first;
}
在 User 对象中你提到了性别为 bool 并且这种做法会混淆,使用可以将其命名为 isMale/isFemale,那么以后你就不会混淆了。

关于 flutter 如何获得一个类的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64081564/

相关文章:

firebase - flutter 中没有这样的方法,方法 add 是在 null 上调用的

dart - 您如何在Rikulo Stream Server中取消缓存主页?

flutter - 在行中重复小部件 n 次

Flutter:将 RawImage 转换为扩展 ImageProvider<> 的内容?

firebase - 为什么Firebase数据库(Firestore)不添加文档

ios - flutter/iOS : Could not determine bundle id

flutter - 如何解决 “Expected a value of type ' int',但在Flutter中得到了 'String'类型之一

dart - 有没有办法调用 4 个 API,然后创建一个列表并绘制一个饼图

firebase - 我可以使用此快照调用访问文档ID吗?

json - 我如何解码这个响应体?