bergetar - aliran-kontrol-koleksi diperlukan, tetapi apakah mereka?

14

Setelah meningkatkan flutter (versi master dan stable) dan panah, saya mendapatkan kesalahan tentang percobaan - koleksi-aliran-kontrol tidak diaktifkan untuk berbagai for-loop yang saya gunakan dalam proyek. Saya mencoba memperbaikinya menggunakan entri ini tetapi itu hanya membuat hal-hal aneh. Jadi, sekarang saya memiliki kesalahan di bawah ini yang memberi tahu saya bahwa saya perlu pengalaman kontrol-aliran-koleksi diaktifkan sementara secara bersamaan mengatakan kepada saya bahwa itu tidak lagi diperlukan.

 eex

Kesalahan ini muncul untuk setiap for-loop yang saya gunakan.

Inilah flutter --version saya

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)

Ada ide bagaimana menyelesaikan ini?

William Terrill
sumber

Jawaban:

40

Hei, saya punya masalah yang sama pagi ini tetapi menemukan perbaikan.

1) Simpan analysis_options.yaml di folder root Anda dengan kode ini:

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

2) Jangan gunakan tanda kurung {} di antara untuk loop Anda Contoh:

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

3) Langkah penting yang mungkin mengapa itu tidak berhasil untuk Anda: Ubah batasan versi Dart Anda di file pubspec.yml di folder root Anda ke 2.5.2

environment:
  sdk: ">=2.5.2 <3.0.0"
Alexandre
sumber
16
nomor 3 melakukan trik
Ali80
Bendera control-flow-collectionstidak diperlukan lagi
jibiel
10

Cukup memperbarui versi Dart minimum di pubspec.yaml sudah cukup:

environment:
  sdk: ">=2.5.0 <3.0.0"

Di Catatan Catatan Perubahan 2,5 Dart Anda dapat melihat opsi baru untuk menambahkan ifelemen ke literal koleksi.

Suragch
sumber
5

Bahkan setelah mengubah dart versionitu tidak berhasil, maka restart saja VS Codeatau editor apa pun yang Anda gunakan. Kemudian periksa apakah ada kesalahan. Jika demikian, maka jalankan flutter clean.

Thanooshan
sumber
3

Ubah versi panah di pubspec.yml

environment:
  sdk: ">=2.6.0 <3.0.0"

kemudian

 flutter pub get
 flutter clean

Dan restart Android Studio

Gila
sumber
2

Cukup memperbarui versi Dart minimum pubspec.yamlsudah cukup bagi saya:

environment:
  sdk: ">=2.7.0 <3.0.0"
Ahmed Hassan
sumber