在 Flutter 中,// 等小部件不Row
处理null 子级。因此,如果我们想有条件地将小部件添加为子项,我通常会执行以下操作:ListView
Stack
Row(
children: <Widget>[
foo == 42 ? Text("foo") : Container(),
],
);
但是添加一个空容器感觉很奇怪。
另一种解决方案是where
过滤器:
Row(
children: <Widget>[
foo == 42 ? Text("foo") : null,
].where((t) => t != null).toList(),
);
这样就解决了空容器问题,但我们仍然有一个丑陋的三元组,写起来很累。
有没有更好的解决方案?