【问题标题】:Flutter - How to enable control-flow-collection?Flutter - 如何启用控制流收集?
【发布时间】:2020-06-15 07:20:41
【问题描述】:

我正在尝试在 Flutter(Google 的 UI 工具包)中使用 control-flow-collections 来启用内联 for 循环,即:

for (int i = 0; i < globals.currentScaleList.scales.length; i++)
              Row(
                mainAxisAlignment: MainAxisAlignment.center,
                children: <Widget>[
                  Text(
                    globals.currentScaleList.scales[i].scaleType.toString(),
                    style: TextStyle(fontSize: 20.0),
                  ),
                ],
              ),
          ], itemExtent: 23.0, onSelectedItemChanged: (index) {}),

我在 SO 中看到了有关主题的其他问题,并遵循了似乎对其他人有用的所有说明。

  1. 我在 Master 通道和 Dart 2.8.0 上运行 Flutter 1.15.4-pre.248
Flutter 1.15.4-pre.248 • channel master • https://github.com/flutter/flutter.git
Framework • revision 686d163420 (2 hours ago) • 2020-03-02 16:25:22 -0500
Engine • revision 5e474ee860
Tools • Dart 2.8.0 (build 2.8.0-dev.10.0 fbe9f6115d)
  1. 我在我的根应用文件夹中创建了一个 analysis_options.yaml 文件并添加了以下内容:
analyzer:
  enable-experiment:
    - control-flow-collections
  1. 我还在 pubspec.yaml 中更新了 Dart 的最低版本,即:
environment:
  sdk: ">=2.5.0 <3.0.0"

但是,我的“for”循环仍然出现错误:

“这需要启用 'control-flow-collections' 实验。 尝试通过在编译和运行时将其添加到命令行来启用此实验。”

当我在我的 analysis_options.yaml 文件中启用 3 行时,我收到警告:

“'enable-experiment' 不支持选项 'control-flow-collection'。”

我错过了什么?谢谢

【问题讨论】:

  • 集合文字中的内联循环是在 Dart 2.3 (Flutter 1.5) 中正式引入的,不再是实验性的,所以你不需要配置任何东西。如果您对它们有疑问,则最新的主版本中可能存在错误。切换到其他渠道之一,看看问题是否仍然存在。
  • 谢谢。似乎 flutter clean 然后重新启动 VSCode 并删除 analysis_options.yaml 文件就可以了。谢谢。

标签: flutter dart


【解决方案1】:

对于那些面临这个问题并尝试创建 analysis_options.yaml 的人,我按照 Paul Toal 在最后一条评论中所说的做了。

  • 删除 analysis_options.yaml(如果已创建)
  • 运行 flutter clean 命令
  • 重启 VSCode

这个对我有用,使用以下内容。

environment:
  sdk: ">=2.5.2 <3.0.0"

【讨论】:

    【解决方案2】:

    我对 Moor 生成的文件 moor_database.g.dart 也有同样的问题。我通过以下方式解决了它:

    1- 使用以下升级 sdk 约束

    environment:
        sdk: ">=2.8.0 <3.0.0"
    

    2- 在 Android Studio 中的 DartAnalysis 上,点击 DartAnalysis 窗口左上角的第一个图标按钮 Restart Dart Analysis Server

    很奇怪,但有效。

    【讨论】:

      猜你喜欢
      • 2019-11-17
      • 2020-05-02
      • 2019-06-07
      • 1970-01-01
      • 2017-07-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-29
      相关资源
      最近更新 更多