在 Flutter 中,我创建了一个带有布尔值的列表。
List<bool> name = [false, false, false]
Run Code Online (Sandbox Code Playgroud)
单击切换按钮后,值将更改为 true。
如何计算重新加载页面时的值?
我的尝试是在 initState 内部对列表进行计数(如果列表包含 true)。
value = name.contains(true).length
Run Code Online (Sandbox Code Playgroud)
但它总是说“bool”类没有定义长度。
如何在页面重新加载时对其进行计数?
提前致谢!
Har*_*dia 12
使用where而不是contains
value = name.where((item) => item == false).length
Run Code Online (Sandbox Code Playgroud)
bool Iterable.contains(Object element) 如果集合包含等于 [element] 的元素,则返回 true。
此操作将检查每个元素是否等于 [element],除非它有更有效的方法来查找等于 [element] 的元素。
用于确定 [element] 是否等于可迭代元素的相等性默认为该元素的 [Object.==]。
某些类型的可迭代对象可能对其元素使用不同的等式。例如,[Set] 可能具有其包含使用的自定义相等性(请参阅[Set.identity])。同样,[Map.keys] 调用返回的 Iterable 应该使用与 Map 用于键相同的等式。
- 来自 Dart 文档
TLDR:contains返回布尔值,指示列表是否“包含”某个项目。
| 归档时间: |
|
| 查看次数: |
16663 次 |
| 最近记录: |