在空安全之前,我可以传递小部件,如果检查它为空,将显示其他小部件。在空安全环境中,如果我没有传递小部件 image
或 note
,有没有办法?
class Message extends StatelessWidget {
const Message({
Key key,
this.image,
this.title = "",
this.subtitle = "",
this.note,
this.onTap
}) : super(key: key);
final Widget image;
final String title;
final String subtitle;
final Widget note;
final Function onTap
@override
Widget build(BuildContext context) {
return GestureDetector(
onTap: onTap,
child: Column(
children:[
image ?? Container(),
if(note != null) note
]
)
);
}
};
答案 0 :(得分:0)
如果孩子可以?
,请使用null
。
class FooWidget extends StatelessWidget {
final Widget? child; // <-- Nullable, use '?'
FooWidget({
this.child,
});
// ...
}
如果孩子不能required
,请使用null
。
class FooWidget extends StatelessWidget {
final Widget child; // <-- Non-nullable
FooWidget({
required this.child, // <-- Use 'required'
});
// ...
}