在Flutter
框架中,我试图将参数的默认值设置为borderRadius
,在此示例中,我该如何实现呢?当我尝试设置它时,出现Default values of an optional parameter must be constant
错误,例如:
class SimpleRoundButton extends StatelessWidget {
final BorderRadius borderRadius;
SimpleRoundButton({
}):this.borderRadius = BorderRadius.circular(30.0);
}
class SimpleRoundButton extends StatelessWidget {
final BorderRadius borderRadius= BorderRadius.circular(30.0);
SimpleRoundButton({
this.borderRadius,
});
}
class SimpleRoundButton extends StatelessWidget {
final BorderRadius borderRadius;
SimpleRoundButton({
this.borderRadius= BorderRadius.circular(30.0)
});
}
所有这些样本都不正确
最佳答案
BorderRadius.circular()
不是const函数,因此您不能将其用作默认值。
为了能够设置const圆形边框,您可以使用BorderRadius.all
函数,该函数如下所示:
class SimpleRoundButton extends StatelessWidget {
final BorderRadius borderRadius;
SimpleRoundButton({
this.borderRadius: const BorderRadius.all(Radius.circular(30.0))
});
@override
Widget build(BuildContext context) {
return null;
}
}
关于flutter - Dart 设置参数的默认值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56481645/