首页 > 解决方案 > 使用颤振 2.+ 的可空值

问题描述

我创建了一个模型类来与 dio 库一起使用并获取数据,并且在颤振 2.+ 中,他们引入了 null safy,当我创建模型类时,我得到了错误以使值可以为空,它通过添加来处理原始类型?但是对于模型本身,我不知道该怎么做,如果有人可以提供帮助,将不胜感激,谢谢

在此处输入图像描述

标签: flutterhttpdartdart-null-safety

解决方案


从flutter 2+开始,他们提供了可空值,因为空值显示错误。您需要定义 const 默认值或附加?运算符以指定变量是一种Nullable类型。

class SearchPhotoRespo {
  int? _total;
  int? _totalPages;
  List<Results>? _results;

  int? get total => _total;
  int? get totalPages => _totalPages;
  List<Results>? get results => _results;

  SearchPhotoRespo({
      int? total, 
      int? totalPages, 
      List<Results>? results}){
    _total = total;
    _totalPages = totalPages;
    _results = results;
}

  SearchPhotoRespo.fromJson(Map<String, dynamic> json) {
    _total = json["total"];
    _totalPages = json["total_pages"];
    if (json["results"] != null) {
      _results = [];
      json["results"].forEach((v) {
        _results?.add(Results.fromJson(v));
      });
    }
  }

  Map<String, dynamic> toJson() {
    var map = <String, dynamic>{};
    map["total"] = _total;
    map["total_pages"] = _totalPages;
        if (_results != null) {
      map["results"] = _results?.map((v) => v.toJson()).toList();
    }
    return map;
  }

}

       

推荐阅读