首页 > 解决方案 > Flutter:如何处理“可选参数的默认值必须是常量”

问题描述

我有一个像这样的简单类:

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. 我需要做什么?

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

标签: flutterclassdartconstructordart-null-safety

解决方案


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

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

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

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


推荐阅读