flutter - 查询Dart中的对象列表?

标签 flutter dart

我需要获取特定客户的所有详细信息:
我有一份 list ,列出所有客户的详细信息:

List<List<ClienteDetails>> _listaClientDetails = List<List<ClienteDetails>> ();

我想获取特定客户的详细信息,而我正在尝试通过使用以下代码来做到这一点:
var result = _listaProductosFactura.where((detailsList) => detailsList.where((cliente) => cliente.id == id)).toList();

但是这段代码是错误的。 “闭包的上下文要求,返回类型'Iterable'不是'bool'。”

有人知道什么是正确的代码吗?

最佳答案

您的代码的问题在于,这部分代码不会返回 bool(boolean) 值:

detailsList.where(((cliente)=> cliente.id == id)

它从内部列表中返回一个不是 bool(boolean) 值的iterable。
因此,第一个“where”方法无法返回可迭代对象,因为它没有 bool(boolean) 结果

var result = _listaProductosFactura.where((detailsList) => //you must have a boolean result here not an iterable 
//but detailsList.where((cliente) => cliente.id == id) gives you an iterable 

您可以执行以下操作以获得所需的结果:
List<List<ClienteDetails>> _listaClientDetails = List<List<ClienteDetails>> ();
var result;

  for(List<ClienteDetails> clienteDetails in _listaClientDetails){
    result =  clienteDetails.where((cliente)=>cliente.id == id).toList();
//goes through the inner list and get the element where cliente.id == id

  }

关于flutter - 查询Dart中的对象列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60571840/

相关文章:

php - 与 Ratchet websocket 的 flutter 连接

flutter - Flutter test_driver 执行报告

将 Provider 3 转换为 4 后 Flutter 应用程序崩溃

dart - Polymer dart元素可在Ubuntu上运行,但不能在Android设备上的chrome应用程序中使用

ios - Flutter firebase_admob 在默认应用安装的 iOS 上不工作

dart - 为什么 dart 中的 abs() 函数在不包含在括号中时返回负数?

flutter - Flutter:自定义过渡(PageRouteBuilder)禁用Hero动画

android - 我想导航到屏幕并清除堆栈中的所有导航屏幕

flutter - 如何在 Flutter 的 SliverAppBar 的 flexibleSpace 中移动 Action 和标题?

dart - Flutter 根据屏幕尺寸自动调整网格卡的大小