flutter - fluxo-controle-coleções são necessárias, mas são?


14

Depois de atualizar o flutter (versões mestre e estável) e o dardo, recebo um erro sobre o experimento - flow-control-collections não sendo ativado para vários loops de forca que estou usando no projeto. Tentei corrigi-lo usando essa entrada, mas isso só fez as coisas mais estranhas. Portanto, agora eu tenho o erro abaixo que me diz que eu preciso que a experiência controle-fluxo-coleções seja ativada enquanto simultaneamente me diz que não é mais necessária.

 eex

Este erro aparece para cada loop for que estou usando.

Aqui está a minha vibração - versão

Stable:
Flutter 1.12.13+hotfix.5 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 27321ebbad (13 days ago)2019-12-10 18:15:01 -0800
Engine • revision 2994f7e1e6
ToolsDart 2.7.0

Master:
Flutter 1.13.6-pre.16 • channel master • https://github.com/flutter/flutter.git
Framework • revision fcaf9c4070 (2 days ago)2019-12-21 14:03:01 -0800
Engine • revision 33813929e3
ToolsDart 2.8.0 (build 2.8.0-dev.0.0 886615d0f9)

Alguma ideia de como resolver isso?

Respostas:


40

Ei, eu tive o mesmo problema esta manhã, mas encontrei uma solução.

1) Mantenha o analysis_options.yaml na sua pasta raiz com este código:

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

2) Não use colchetes {} entre os loops for Ex:

<Widget>[
  for (final category in categories) 
    CategoryWidget(category: category)
],

3) Etapa importante, provavelmente a razão pela qual ela não está funcionando: Altere a restrição de versão do Dart no arquivo pubspec.yml na pasta raiz para 2.5.2

environment:
  sdk: ">=2.5.2 <3.0.0"

16
número 3 fez o truque
Ali80 01/01

A bandeira control-flow-collectionsnão é mais necessária
jibiel 12/03


5

Mesmo depois de alterar o dart versionque não funcionou, basta reiniciar VS Codeo editor ou o que você estiver usando. Em seguida, verifique se o erro está lá. Se sim, então execute flutter clean.


3

Alterar a versão do dardo em pubspec.yml

environment:
  sdk: ">=2.6.0 <3.0.0"

então

 flutter pub get
 flutter clean

E reinicie o Android Studio


2

Basta atualizar a versão mínima do Dart pubspec.yamlpara mim:

environment:
  sdk: ">=2.7.0 <3.0.0"
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.