【问题标题】:Flutter - Count List with boolFlutter - 带布尔的计数列表
【发布时间】:2020-06-10 01:16:37
【问题描述】:

在 Flutter 中,我创建了一个带有布尔值的列表。

List<bool> name = [false, false, false]

单击切换按钮时,值会更改为 true。

如何计算重新加载页面时的值?

我的尝试是在 initState 中计算 List 是否包含 true。

value = name.contains(true).length

但它总是说没有为“bool”类定义长度。

如何在重新加载页面时计算它?

提前致谢!

【问题讨论】:

    标签: flutter


    【解决方案1】:

    使用where 代替contains

    value = name.where((item) => item == false).length
    

    bool Iterable.contains(Object element) 如果集合返回true 包含一个等于 [element] 的元素。

    此操作将检查每个元素是否等于 [元素],除非它有更有效的方法来找到相等的元素 到[元素]。

    用于确定 [element] 是否等于 可迭代的元素默认为元素的 [Object.==]。

    某些类型的可迭代对象可能有不同的相等性用于其 元素。例如,一个 [Set] 可能有一个自定义相等(参见 [Set.identity]) 它包含使用。同样返回的 Iterable 通过 [Map.keys] 调用应该使用与 Map 相同的相等性 钥匙。

    • 来自 Dart 文档

    TLDR:contains 返回布尔值,指示列表是否“包含”一个项目。

    【讨论】:

    • 计算 TRUE 值,因为它需要使用 name.where((item) =&gt; item).length 而不是 item == false
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-12
    • 2023-03-13
    • 2022-06-10
    • 2020-11-09
    • 1970-01-01
    • 2012-09-27
    • 1970-01-01
    相关资源
    最近更新 更多