我写了一些代码来帮助可视化自定义绘画工具的百分比,但是有时百分比太小而无法正确显示,因此我决定制作一个可方便地返回一个值的吸气剂,该值将被放入画家。
正如您在所提供的代码中所看到的那样,我尝试进行检查以检查数据是否尚未加载,并返回“ 0%”,这本来应该可以的。
double get winPercent {
var initalValue = _stats.winPercent.isNotEmpty ? _stats.winPercent : '0%';
var calculateWinPrcnt = (double.parse(
initalValue.substring(0, _stats.winPercent.length - 1),
) /
100);
if (calculateWinPrcnt < 5) {
return 0.05;
}
return calculateWinPrcnt;
}
如果API尚无数据,则吸气剂应返回'0%',但我仍然收到输出为空的错误
The getter 'winPercent' was called on null.
Receiver: null
Tried calling: winPercent
答案 0 :(得分:0)
“ getter'winPercent'被调用为null。”表示_stats
可能为空。您可以这样做:
double get winPercent {
// check for nulls
final initialValue = (_stats?.winPercent?.isNotEmpty ?? false) ? _stats.winPercent : '0%';
final value = initialValue.substring(0, initialValue.length - 1);
final winPrcnt = (double.parse(value) / 100);
if (winPrcnt < 0.05) {
return 0.05;
}
return winPrcnt;
}
答案 1 :(得分:0)
var _stats;
if(_stats==null){
_stats = className();
}
这里的问题出在WinPercent被调用为On的对象上,该对象为null尝试在调用Api var _stats = YourModelClassName()
之前初始化_stats,并在获取Apis响应之后,可以将该响应模型对象分配给_stats。