如何在类构造函数中为Map类型变量分配默认值?

伦德罗

我正在尝试创建一个类构造函数,其中的唯一参数是Map类型。

class ProductManager extends StatefulWidget {
  final Map initialProduct;

  ProductManager(this.initialProduct =  {'title': '', 'image': ''});

}

我遇到了两个错误:

命名参数必须用大括号('{'和'}')括起来。dart(named_pa​​rameter_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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在类构造函数中设置字符串数组默认值

如何使用默认值将值分配给构造函数中的枚举?

为函数变量分配动态默认值?

如何在构造函数中分配一个常量值作为默认值

类构造函数中options对象的默认值

在 laravel 中为 NULL 变量正确分配默认值

无法在SQL中为本地变量分配默认值

为通用类型分配默认值

如何在Kotlin中为函数类型变量分配空值?

KOTLIN:如何为函数中的泛型类型参数分配默认值?

PHP如何在类中将默认值设置为变量?

Scala:如何在伴随对象中定义构造函数参数的默认值?

变量总是在函数中重置为默认值

如何在淘汰赛中为单选按钮分配默认值

如何在javascript函数中为参数的特定默认值设置值

如何在MySQL中为SET类型设置1个以上的默认值?

如何在C#中为委托类型的参数提供默认值?

如何在[String]类型的集合中为元素设置默认值?

如何在DAML中为原始类型和记录指定默认值?

如何在Camel Bindy的模型类中为布尔字段设置默认值

如何在C ++类中为C字符串设置默认值?

如何在 MariaDB 结构中为默认值定义变量?

如何在 Items.xml Hybris 中为项目的 Map 属性设置默认值?

如果 return 为 none,如何在定义的函数中获取默认值?

在构造函数 JavaScript 中分配默认值

为类构造函数提供默认值的大多数pythonic方法

在类C ++中使用构造函数为char数组提供默认值

类构造函数:如何在列表中设置默认类

如何在Javascript的类构造函数中访问分配给对象的变量名?