กระพือ - จำเป็นต้องมีการควบคุมการไหลของคอลเลกชัน แต่พวกเขา?


14

หลังจากอัปเกรดกระพือ (ทั้งเวอร์ชันต้นแบบและเวอร์ชันเสถียร) และโผฉันได้รับข้อผิดพลาดเกี่ยวกับการทดสอบ - โฟลว์ควบคุมคอลเลกชันไม่ได้เปิดใช้งานสำหรับลูปต่างๆที่ฉันใช้ในโครงการ ฉันพยายามแก้ไขโดยใช้รายการนี้แต่นั่นทำให้สิ่งที่แปลกประหลาด ดังนั้นตอนนี้ฉันมีข้อผิดพลาดด้านล่างที่บอกฉันว่าฉันต้องการการเปิดใช้งานการควบคุมการไหลของคอลเลกชันที่จะเปิดใช้งานในขณะที่บอกฉันว่ามันไม่จำเป็นต้องใช้อีกต่อไป

 EEx

ข้อผิดพลาดนี้เกิดขึ้นสำหรับทุกวงที่ฉันใช้

นี่คือเวอร์ชั่นของฉัน -

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)

ความคิดใด ๆ วิธีการแก้ไขปัญหานี้?

คำตอบ:


40

เฮ้ฉันมีปัญหาเดียวกันเมื่อเช้านี้ แต่พบปัญหา

1) เก็บ analy_options.yaml ในโฟลเดอร์รูทของคุณด้วยรหัสนี้:

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

2) อย่าใช้วงเล็บ {} อยู่ระหว่างลูปของคุณ เช่น:

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

3) ขั้นตอนสำคัญซึ่งอาจเป็นสาเหตุที่ทำให้คุณไม่ทำงาน: เปลี่ยนข้อ จำกัด รุ่น Dart ในไฟล์ pubspec.yml ในโฟลเดอร์รูทของคุณเป็น 2.5.2

environment:
  sdk: ">=2.5.2 <3.0.0"

16
หมายเลข 3 ได้หลอกลวง
Ali80

control-flow-collectionsไม่จำเป็นต้องตั้งค่าสถานะอีกต่อไป
jibiel

10

เพียงอัปเดตเวอร์ชัน Dart ขั้นต่ำในpubspec.yamlก็เพียงพอแล้ว:

environment:
  sdk: ">=2.5.0 <3.0.0"

ในบันทึกการเปลี่ยนแปลงของDart 2.5คุณสามารถเห็นตัวเลือกใหม่สำหรับการเพิ่มifองค์ประกอบในคอลเลกชันตัวอักษร


5

แม้หลังจากเปลี่ยนdart versionแล้วไม่ทำงานให้รีสตาร์ทVS Codeหรือแก้ไขสิ่งที่คุณใช้อยู่ จากนั้นตรวจสอบข้อผิดพลาดที่นั่น flutter cleanถ้าเป็นเช่นนั้นแล้วเรียกใช้


3

เปลี่ยนรุ่นโผใน pubspec.yml

environment:
  sdk: ">=2.6.0 <3.0.0"

แล้วก็

 flutter pub get
 flutter clean

และรีสตาร์ท Android Studio


2

เพียงอัปเดตเวอร์ชัน Dart ขั้นต่ำpubspec.yamlก็เพียงพอแล้วสำหรับฉัน:

environment:
  sdk: ">=2.7.0 <3.0.0"
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.