[英]Can't define constructor with optional parameters Dart
I can't define this constructor:我无法定义这个构造函数:
class Artists_Showroom extends StatefulWidget {
Artists_Showroom( //error 1 here
{Key key,
@required this.lista,
@required this.database,
@required this.artistaCorrente,
[this.color = null]}). //error 2 here on first square brachet
: super(key: key);
final List<Artista> lista;
final Artista artistaCorrente;
final Database database;
final Color color;
Error 1:错误一:
All final variables must be initialized, but 'color' isn't.
Try adding an initializer for the field.
Error 2:错误二:
Expected to find '}'.
Expected an identifier.
It worked until now because I need to add an optional parameter (in this case it's a color).它一直有效到现在,因为我需要添加一个可选参数(在本例中它是一种颜色)。 I just never used optional parameters so I don't know how to declare them.我只是从未使用过可选参数,所以我不知道如何声明它们。
I did some researches and tried different solutions from StackOverflow but no one working.我做了一些研究并尝试了 StackOverflow 的不同解决方案,但没有一个有效。
You can't have Positional
optional parameters []
and Named
optional parameters {}
at the same time.您不能同时拥有Positional
可选参数[]
和Named
可选参数{}
。 Have a look at this .看看这个。 If you want too keep your Named
parameters you can do the following.如果您也想保留Named
参数,可以执行以下操作。
class Artists_Showroom extends StatefulWidget {
const Artists_Showroom({
Key key,
@required this.lista,
@required this.database,
@required this.artistaCorrente,
this.color,
}) : super(key: key);
final List<Artista> lista;
final Artista artistaCorrente;
final Database database;
final Color color;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.