首页 > 解决方案 > 当我尝试将一个列表分配给一个列表时,为什么 .add() 方法不起作用

问题描述

我正在阅读我的 SQlite 数据库,我的函数 getArmarCartillaPorDescriptcion2() 效果很好。为了将 temporalVar(type: List ) 添加到 finalVar (type: List ),我的意思是一个 List 中有很多 List,我使用 forEach 方法。但是,我可以看到 temporalVar 一直都有数据,但“add”方法不起作用,最后 finalVar 返回 [](无数据)。我尝试将时间变量的类型更改为 List<List>、List<List>、List 等,但同样的问题。

Code forEach 哪里有问题finalVar.add(temporalvar)

listaUniqueGrupoFito.forEach((element) async{
  final valor= await ArmarCartillaDbProvider.db.getArmarCartillaPorDescripcion2('001',element);
  valor!.forEach((element) {
    temporalvar.add(element.descripcion);
  });
  finalVar.add(temporalvar);
  print("temporalvar: $temporalvar");
  temporalvar.clear();
});
print("finalVar: $finalVar");

我阅读的功能及其返回(效果很好):

Future<List<ArmarCartillaModel>?> getArmarCartillaPorDescripcion2(String codCartilla, String grupo) async{
    final db= await database;
    final res = await db.rawQuery('''
     SELECT  * FROM ArmarCartilla WHERE COD_CARTILLA= '$codCartilla' and GRUPO='$grupo' 
    ''');
    return res.isNotEmpty
          ? res.map((s) => ArmarCartillaModel.fromJson(s)).toList()
          :[];
  }

Flutter 调试控制台答案,每个循环都有数据。然而,finalVar: []. 我想将每个 temporalvar 循环分配给我的主要列表。

I/flutter (12822): finalVar: []
I/flutter (12822): temporalvar loop: [Nº Brotes infestados, Nº Ninfas/Brote, Nº Adultos/Brote, Nº Infloresc. Infestadas]
I/flutter (12822): temporalvar loop: [Nº Brotes infestados, Nº Larvas/Brote, Nº de Hojas Infestadas, N° Larvas chicas, Nº Infloresc. Infestadas]
I/flutter (12822): temporalvar loop: [Nº Brotes infestados, Nº de masas/Brote, N° Larvas chicas, N° Larvas grandes, Nº de Hojas Infestadas, Nº de masas/hoja, N° Larvas chicas, N° Larvas grandes]

标签: flutterdart

解决方案


推荐阅读