Flutter 颤振1.17:小部件列表中的IF语句不再被接受

Flutter 颤振1.17:小部件列表中的IF语句不再被接受,flutter,Flutter,更新为Flatter 1.17.0,我已经使用了几个月的语法现在有一个错误: 对于无用的代码示例: List<Widget> someList; bool _isAdmin; Column buildColumn() { return Column( children: <Widget>[ someList[0], if (_isAdmin) someList[1], ] ) } List-som

更新为Flatter 1.17.0,我已经使用了几个月的语法现在有一个错误:

对于无用的代码示例:

List<Widget> someList;
bool _isAdmin;

Column buildColumn() {
   return Column(
      children: <Widget>[
         someList[0],
         if (_isAdmin) someList[1],
      ]
   )
}
List-someList;
布尔·伊萨明;
列buildColumn(){
返回列(
儿童:[
someList[0],
如果(_isAdmin)someList[1],
]
)
}
当我将鼠标悬停在带红色下划线的“如果”上方时,我看到:
“这要求启用“控制流集合”实验。 尝试在编译和运行.dart时通过将其添加到命令行来启用此实验(未启用实验)”

显然还有其他方法可以完成这项任务,但我现在有13k行代码使用这种方法,只需让flutter允许就可以了。或者有什么原因我不应该这样做吗???

修复:

我在根目录下创建了一个“analysis_options.yaml”文件,并重新启动了VSCode:

analyzer:
  enable-experiment:
    - control-flow-collections
    - spread-collections

你不应该这么做。您的
pubspec.yaml
中的Dart SDK约束是什么?“>=2.5.2我应该补充一点,这是我第一次通过VSCode弹出窗口更新颤振。通常我“颤振升级”这能回答您的问题吗?是的。这就是我使用的解决方案。奇怪的是,问题消失了,analysis_options.yaml文件变得多余。