【发布时间】:2019-02-03 06:21:15
【问题描述】:
在 Flutter 中,Row/ListView/Stack 等小部件不处理 null 子级。因此,如果我们想有条件地将小部件添加为子小部件,我通常会执行以下操作:
Row(
children: <Widget>[
foo == 42 ? Text("foo") : Container(),
],
);
但是添加一个空容器感觉很奇怪。
另一种解决方案是where 过滤器:
Row(
children: <Widget>[
foo == 42 ? Text("foo") : null,
].where((t) => t != null).toList(),
);
这样解决了空容器的问题,但是我们仍然有一个丑陋的三元,写起来很累。
有没有更好的解决方案?
【问题讨论】:
标签: flutter dart conditional-statements flutter-widget flutter-listview