作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有这个代码:
Column(
children: [
MyFirstWidget(),
MySecondWidget(),
],
);
现在我想在有条件的情况下向该列添加一些小部件。这里有一个例子:
Column(
children: [
MyFirstWidget(),
MySecondWidget(),
if(condition == true) {
MyThirdWidget(),
MyFourthWidget(),
}
],
);
我知道这段代码是错误的,但我该怎么做才是正确的 dart 编程?
最佳答案
在 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()]
],
);
当条件为 true
时,它们都只会显示第三个和第四个小部件。
关于flutter - 如果 flutter 中有条件,如何将元素添加到列中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63232038/
我是一名优秀的程序员,十分优秀!