Flutter:如何处理“可选参数的默认值必须是常量”

问题描述 投票:0回答:2

我有一个像这样的简单课程:

class Restaurant{
  final String id;
  final String name;
  List<Serving> servingList;

  Restaurant({
    required this.id,
    required this.name,
    this.servingList = [], // ERROR
  });
}

默认情况下,我想要

servingList
的空列表,并稍后将对象添加到此列表。但我收到错误
The default value of an optional parameter must be constant.
我需要做什么?

我感谢每一个帮助,谢谢!

flutter class dart constructor dart-null-safety
2个回答
14
投票

其实答案就在错误之内。默认值应该是常数。

    class Restaurant{
  final String id;
  final String name;
  List<Serving> servingList;

  Restaurant({
    required this.id,
    required this.name,
    this.servingList = const [], // ERROR
  });
}

方括号前需要添加“const”关键字。


0
投票

错误:非可选参数不能有默认值。 尝试删除默认值或将参数设置为可选。 子项:ListTile( ^

© www.soinside.com 2019 - 2024. All rights reserved.