首页 > 解决方案 > Unable to use spread operator in Flutter

问题描述

I need to return a copy of the list _items.I tried using the spread operator by enclosing in square brackets like this " return [..._items]".I'm getting an error which says that spread collections experiment is not enabled,try enabling it. how can I enable that or is there any other way of returning a copy of a list?

Error -> "This requires the 'spread-collections' experiment to be enabled. Try enabling this experiment by adding it to the command line when compiling and running.".

I have attached an image that clearly depicts the error ,below.

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();
  }
}

标签: flutterdart

解决方案


你使用的是旧版本的 Dart。

您可以通过在以下位置更新您的 SDK 约束来修复 thix pubspec.yaml

environment:
  sdk: ">=2.7.0 <3.0.0"

推荐阅读