在Flutter中无法使用扩展运算符

4
我需要返回列表 _items 的副本。我尝试使用方括号将其包含在内的展开运算符,如 "return [..._items]"。我收到了一个错误,说展开集合实验未启用,请尝试启用它。如何启用它或是否有其他方法返回列表的副本?
错误 ->“这需要启用 'spread-collections' 实验。 尝试在编译和运行时通过将其添加到命令行来启用此实验。”
我已经附上了下面清晰显示错误的图片。 enter image description here
import 'package:flutter/material.dart';

import '../models/product.dart';

class ProductProvider with ChangeNotifier {
  List<Product> _items = [];

  List<Product> get items {
    return [..._items];// I'm getting error here.

  }

  void addProduct() {
    notifyListeners();
  }
}
1个回答

9
您正在使用旧版本的Dart。
您可以通过更新pubspec.yaml中的SDK约束来解决此问题。
environment:
  sdk: ">=2.7.0 <3.0.0"

2
扩展运算符是在Dart 2.3.0中引入的,因此将最小约束设置为该版本即可。 - Mattia
@Mattia 是的,我思考了一段时间,但我认为将最新版本指定为当前版本在长期内更有用。 - creativecreatorormaybenot

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接