[英]How do I make an argument an optional one in dart
I am trying to make the parameter lettersText an optional parameter but when I don't specify for it, It causes an error:我正在尝试使参数lettersText成为可选参数,但是当我没有指定它时,它会导致错误:
176:27: Error: Too few positional arguments: 2 required, 1 given.
CircleAvatar(
^
lib/main.dart:194:9: Context: Found this candidate, but the arguments don't match.
const CircleAvatar(this.numberText, this.lettersText, {Key? key})
^^^^^^^^^^^^
class CircleAvatar extends StatelessWidget {
final Widget numberText;
final Widget lettersText;
const CircleAvatar(this.numberText, this.lettersText, {Key? key})
: super(key: key);
@override
Widget build(BuildContext context) {
return Container(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
numberText,
lettersText,
],
),
width: kCircleAvatarWidth,
height: kCircleAvatarHeight,
decoration: const BoxDecoration(
color: Color(0xFFe5e5e5),
shape: BoxShape.circle,
),
);
}
}
If you make lettersText
optional, I assume you also mean nullable, then you have to check if it is not null.如果您将
lettersText
可选,我假设您的意思也是可以为空的,那么您必须检查它是否不是 null。 If so you can do the following.如果是这样,您可以执行以下操作。
class CircleAvatar extends StatelessWidget {
final Widget numberText;
final Widget? lettersText;
const CircleAvatar(this.numberText, {Key? key, this.lettersText})
: super(key: key);
@override
Widget build(BuildContext context) {
return Container(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
numberText,
if(lettersText != null)
lettersText,
],
),
width: kCircleAvatarWidth,
height: kCircleAvatarHeight,
decoration: const BoxDecoration(
color: Color(0xFFe5e5e5),
shape: BoxShape.circle,
),
);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.