Dart 可选参数的默认值必须为常量-颜色
我正在尝试为自定义小部件设置默认颜色 这就是问题所在的代码Dart 可选参数的默认值必须为常量-颜色,dart,Dart,我正在尝试为自定义小部件设置默认颜色 这就是问题所在的代码 class ReusableCard extends StatelessWidget { ReusableCard({this.color: Color(0xFF1D1E33)}); Color color; @override Widget build(BuildContext context) { return Expanded( child: Container(
class ReusableCard extends StatelessWidget {
ReusableCard({this.color: Color(0xFF1D1E33)});
Color color;
@override
Widget build(BuildContext context) {
return Expanded(
child: Container(
margin: EdgeInsets.all(15.0),
decoration: BoxDecoration(
color: color,
borderRadius: BorderRadius.circular(10.0),
),
),
);
}
}
让我烦恼的是,如果我在第二行,它会说:
ReusableCard({this.color: Colors.red});
那就没有问题了。我已经试着做了
final color defaultColor = Color(0xFF1D1E33);
并改用defaultColor,但它不起作用。有什么想法吗 只需在
Color
值之前添加const
:
类可重用卡扩展无状态小部件{
可重用卡({this.color:constcolor(0xff1de1e33)});//注意'const'关键字
颜色;
@凌驾
小部件构建(构建上下文){
扩大回报(
子:容器(
边距:所有边缘集(15.0),
装饰:盒子装饰(
颜色:颜色,
边界半径:边界半径。圆形(10.0),
),
),
);
}
}
Colors类返回一个常量值,这就是Colors.red可以工作的原因,因此当您指定自己的默认值时,默认颜色也必须是常量,即-->const color defaultColor=color(0xFF1D1E33);