【发布时间】:2021-08-25 09:20:07
【问题描述】:
我正在尝试创建一个可以通过各种参数初始化的 Flutter 小部件,像这样
class MyWidget extends StatefulWidget {
final int? id;
final String? username;
MyWidget({this.id, this.username});
@override
_MyWidgetState createState() => _MyWidgetState();
}
class _MyWidgetState extends State<MyWidget> {
@override
void initState() {
super.initState();
if (widget.id != null) {
// init based on id
} else if (widget.username != null) {
// init based on username
} else {
// this should never happen
}
}
@override
Widget build(BuildContext context) {
return Container(); // build some widget
}
}
如您所见,id 和 username 都不是必需的,但我需要至少其中一个存在。解决这个问题的好方法是什么?
【问题讨论】:
标签: flutter dart dart-null-safety null-safety