如何解决flutter中的Closure: () => int?

sha*_*ron 3 dart flutter

我有这样的情况,我不明白为什么会发生这种情况,因为控制台没有给出错误消息。

我想总结API中的数据,但输出如下。

在此输入图像描述

这里我做一下求和

int getSum() {
int? uts = int.tryParse(data.first.nilaiIndeksUts ?? '');
int? akhir = int.tryParse(data.first.nilaiIndeksAkhir ?? '');
return (uts ?? 0) + (akhir ?? 0);
}
Run Code Online (Sandbox Code Playgroud)

我在这里调用 getSum

Text(
'$getSum',
style: bold6,
),
Run Code Online (Sandbox Code Playgroud)

这是我用API做的模型,我好几天了还没找到解决方案。这里有没有人经历过类似的情况或者在API中做过数据求和?先感谢您。

class NilaiMahasiswa {
  String? status;
  String? code;
  List<Data>? data;

  NilaiMahasiswa({this.status, this.code, this.data});

  NilaiMahasiswa.fromJson(Map<String, dynamic> json) {
    status = json['status'];
    code = json['code'];
    if (json['data'] != null) {
      data = <Data>[];
      json['data'].forEach((v) {
        data!.add(Data.fromJson(v));
      });
    }
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = <String, dynamic>{};
    data['status'] = status;
    data['code'] = code;
    if (this.data != null) {
      data['data'] = this.data!.map((v) => v.toJson()).toList();
    }
    return data;
  }
}

class Data {
  String? idTranskripNilai;
  String? idMk;
  String? kodeMk;
  String? nmMk;
  int? sks;
  int? smt;
  String? nilaiAkhirUts;
  String? nilaiHurufUts;
  String? nilaiIndeksUts;
  String? nilaiAkhirUas;
  String? nilaiAkhir;
  String? nilaiHurufAkhir;
  String? nilaiIndeksAkhir;
  int? statusNilaiAkhir;
  int? statusNilaiUts;
  String? updatedBy;

  Data(
      {this.idTranskripNilai,
      this.idMk,
      this.kodeMk,
      this.nmMk,
      this.sks,
      this.smt,
      this.nilaiAkhirUts,
      this.nilaiHurufUts,
      this.nilaiIndeksUts,
      this.nilaiAkhirUas,
      this.nilaiAkhir,
      this.nilaiHurufAkhir,
      this.nilaiIndeksAkhir,
      this.statusNilaiAkhir,
      this.statusNilaiUts,
      this.updatedBy});

  Data.fromJson(Map<String, dynamic> json) {
    idTranskripNilai = json['id_transkrip_nilai'];
    idMk = json['id_mk'];
    kodeMk = json['kode_mk'];
    nmMk = json['nm_mk'];
    sks = json['sks'];
    smt = json['smt'];
    nilaiAkhirUts = json['nilai_akhir_uts'];
    nilaiHurufUts = json['nilai_huruf_uts'];
    nilaiIndeksUts = json['nilai_indeks_uts'];
    nilaiAkhirUas = json['nilai_akhir_uas'];
    nilaiAkhir = json['nilai_akhir'];
    nilaiHurufAkhir = json['nilai_huruf_akhir'];
    nilaiIndeksAkhir = json['nilai_indeks_akhir'];
    statusNilaiAkhir = json['status_nilai_akhir'];
    statusNilaiUts = json['status_nilai_uts'];
    updatedBy = json['updated_by'];
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = <String, dynamic>{};
    data['id_transkrip_nilai'] = idTranskripNilai;
    data['id_mk'] = idMk;
    data['kode_mk'] = kodeMk;
    data['nm_mk'] = nmMk;
    data['sks'] = sks;
    data['smt'] = smt;
    data['nilai_akhir_uts'] = nilaiAkhirUts;
    data['nilai_huruf_uts'] = nilaiHurufUts;
    data['nilai_indeks_uts'] = nilaiIndeksUts;
    data['nilai_akhir_uas'] = nilaiAkhirUas;
    data['nilai_akhir'] = nilaiAkhir;
    data['nilai_huruf_akhir'] = nilaiHurufAkhir;
    data['nilai_indeks_akhir'] = nilaiIndeksAkhir;
    data['status_nilai_akhir'] = statusNilaiAkhir;
    data['status_nilai_uts'] = statusNilaiUts;
    data['updated_by'] = updatedBy;
    return data;
  }
}
Run Code Online (Sandbox Code Playgroud)

Mif*_*zak 6

getSum是一个函数,需要添加()调用它并返回integer值。

Text( '${getSum()}', style: bold6,),
Run Code Online (Sandbox Code Playgroud)