flutter - 包:flutter/src/widgets/basic.dart':断言失败:第 2297 行 pos 15:'heightFactor == null || heightFactor >= 0.0':不正确
问题描述
@override
Widget build(BuildContext context) {
return Card(
elevation: 6,
margin: EdgeInsets.all(20),
child: Padding(
padding: EdgeInsets.all(10),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: groupedTransactionValues.map((data) {
return Flexible(
fit: FlexFit.tight,
child: ChartBar(
data['day'],
data['amount'],
(data['amount'] as double) / totalSpending,
),
);
}).toList(),
),
),
);
}
}
解决方案
改变这个:
(data['amount'] as double) / totalSpending
对此:
totalSpending == 0 ? 0 : (data["amount"] as double) / totalSpending
当您的交易清单为空时会发生此错误。如果您的事务列表为空,则 dart 将该表达式评估为 0 / 0,即 NaN。当您将此 NaN 传递给 ChartBar heightFactor:spokenPctOfTotal 时,它会引发该错误,因为 heightFactor 期望的值大于 0 或 null(NaN 与 null 不同)。
推荐阅读
- neo4j - jQAssistant:无法重置外部 Neo4J 存储 - 为什么?
- python - pandas dataFrame 的替换给出了 NaN 值
- javascript - JS - 初学者 - 函数 isMaleName()
- android - 剃须刀付款给未找到适当的付款方式错误
- laravel - 获取 app/Http/Kernel.php 的权限被拒绝错误
- javascript - 没有可调整大小的边框和 JQuery 的 Javascript 图像裁剪
- javascript - 用 JS replace() 替换 'src=#' 属性不起作用
- javascript - 在 jquery 中选择第一个孩子时出现问题(需要优化代码)
- python - 有什么方法可以将 Matlab 脚本文件和函数文件转换为 python GEKKO 格式?
- cloud - 如何将文件从 Azure VM 下载到我的 PC?