不能定义带有可选参数的构造函数



我不能定义这个构造函数:

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;

错误1:

All final variables must be initialized, but 'color' isn't.
Try adding an initializer for the field.

错误2:

Expected to find '}'.
Expected an identifier.

直到现在它工作,因为我需要添加一个可选参数(在本例中是一个颜色)。我只是从来没有使用过可选参数,所以我不知道如何声明它们。

我做了一些研究,尝试了StackOverflow的不同解决方案,但没有一个有效。

不能同时具有Positional可选参数[]Named可选参数{}。看看这个。如果你想要保持你的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;
}

相关内容

最新更新