Flutter:列表已过时?[duplicate]

pbpqsu0x  于 2022-12-14  发布在  Flutter
关注(0)|答案(4)|浏览(144)

此问题在此处已有答案

The default 'List' constructor isn't available when null safety is enabled. Try using a list literal, 'List.filled' or 'List.generate'(4个答案)
去年关闭了。
升级到flutter的最新版本后,我收到了所有List的弃用警告。

List<MyClass> _files = List<MyClass>();
=>'List' is deprecated and shouldn't be used.

不幸的是,它没有给予出用什么来代替它的提示。那么我们现在应该用什么来代替呢?

  • Dart SDK版本:2.12.0-141.0.dev
  • 扑动:主通道,1.25.0- 9.0版本42
6ie5vjzr

6ie5vjzr1#

好了,找到了,只是如何示例化它:

List<MyClass> _files = [];

编辑:可能是最常见的,根据docs

大小为0的固定长度列表:

List<MyClass> _list = List<MyClass>.empty();

可增长列表:

List<MyClass> _list = [];
//or
List<MyClass> _list = List<MyClass>.empty(growable: true);

具有预定义填充的固定长度:

int length = 3;
String fill = "test";
List<String> _list =  List<String>.filled(length, fill, growable: true);
// => ["test", "test", "test"]

具有生成功能的列表:

int length = 3;
MyClass myFun(int idx) => MyClass(id: idx);
List<MyClass> _list = List.generate(length, myFun, growable: true); 
// => [Instance of 'MyClass', Instance of 'MyClass', Instance of 'MyClass']
u0njafvf

u0njafvf2#

List<MyClass> myList = <MyClass>[];
vx6bjr1n

vx6bjr1n3#

发件人:

_todoList = new List();

更改为:

_todoList = [];
p8h8hvxi

p8h8hvxi4#

旧版本

List<Widget> widgetList = new List<Widget>();

新版本

List<Widget> widgetList = [];

相关问题