我正在尝试创建一个类构造函数,其中唯一的参数是Map类型。
class ProductManager extends StatefulWidget {
final Map initialProduct;
ProductManager(this.initialProduct = {'title': '', 'image': ''});
}
我收到了这两个错误:
命名参数必须用大括号括起来('{'和'}')。dart(named_parameter_outside_group)
可选参数的默认值必须为constant.dart(non_constant_default_value)
通过以下方式更改我的代码,我解决了第二个错误:
ProductManager(this.initialProduct = const {'title': '', 'image': ''});
我究竟做错了什么?为什么Map变量与其他类型不同?
您只能为可选的命名参数提供默认值。命名参数包含在大括号中的构造函数声明中。试试这个:
class ProductManager {
final Map initialProduct;
ProductManager({this.initialProduct = const {'title': '', 'image': ''}});
}