我有一个声明
bool _glutenFree = false;
当我尝试使用如下赋值运算符时
_glutenFree = widget.currentFilters['gluten'];
我收到一条错误消息
'bool?' 类型的值不能分配给“bool”类型的变量。
检查“widget.currentFilters['gluten']”的值
我尝试使用print命令,发现值为false。
现在当我将赋值语句更改为
_glutenFree = widget.currentFilters['gluten'] == true;
程序有效。
能不能请教一下这个问题
答案 0 :(得分:0)
应该是bool? _glutenFree = false;
注意 ?
类型后面的 bool
。它表示变量 _glutenFree
可以是 null
。
目前,currentFilters
可以返回 nullable 或 bool
类型的值,并且您的变量 currentFilters
被声明为不可为 null 的 bool 类型。
有关 Dart's Sound null safety
的更多信息,请前往 https://dart.dev/null-safety
答案 1 :(得分:-1)
_glutenFree = widget.currentFilters['gluten']!;
试试这个,因为你需要添加'!'。