问题描述
如何在构造函数中正确设置?前提是第一个字段的值可以设置为不同于默认值,第二个字段应始终使用 withAccent
解决方法
您可以将类构造函数设为私有并创建工厂构造函数来实现您的自定义初始化逻辑,如下所示:
class Foo {
final Color sliderDefaultColor;
final Color sliderActiveColor;
Foo._({
required this.sliderDefaultColor,required this.sliderActiveColor,});
factory Foo(Color color) {
return Foo._(
sliderDefaultColor: color,sliderActiveColor: color.withRed(10),);
}
}
然后你可以像这样实例化类:
final foo = Foo(Colors.blueGrey);