我有这样的代码:
Column(
children: [
MyFirstWidget(),
MySecondWidget(),
],
);
现在,如果有条件,我想向该列添加一些小部件。下面是一个示例:
Column(
children: [
MyFirstWidget(),
MySecondWidget(),
if(condition == true) {
MyThirdWidget(),
MyFourthWidget(),
}
],
);
我知道这段代码是错的,但是我怎么做才是正确的dart编程呢?
发布于 2020-08-03 15:24:23
在Dart 2.3中,他们添加了集合if
和分散运算符,您可以在此处使用它们来有条件地添加这些小部件。
集合if
有条件地添加第三和第四个小部件的列表,扩展操作符简洁地将这些元素插入到集合中。
Column(
children: [
MyFirstWidget(),
MySecondWidget(),
if(condition == true)
...[MyThirdWidget(), MyFourthWidget()]
],
);
另外,做== true
是不必要的。你可以只使用if(condition)
来获得稍微整洁的代码:
Column(
children: [
MyFirstWidget(),
MySecondWidget(),
if(condition)
...[MyThirdWidget(), MyFourthWidget()]
],
);
当condition为true
时,这两个将只显示第三和第四个小部件。
https://stackoverflow.com/questions/63232038
复制相似问题