我正在尝试创建一个类构造函数,其中的唯一参数是Map类型。
class ProductManager extends StatefulWidget {
final Map initialProduct;
ProductManager(this.initialProduct = {'title': '', 'image': ''});
}
我遇到了两个错误:
命名参数必须用大括号('{'和'}')括起来。dart(named_parameter_outside_group)
可选参数的默认值必须是常量。dart(non_constant_default_value)
通过以下方式更改代码,我解决了第二个错误:
ProductManager(this.initialProduct = const {'title': '', 'image': ''});
我究竟做错了什么?为什么Map变量与其他类型不同?
您只能将默认值赋予可选的命名参数。命名参数以大括号形式包含在构造函数声明中。试试这个:
class ProductManager {
final Map initialProduct;
ProductManager({this.initialProduct = const {'title': '', 'image': ''}});
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句