flutter - 是否可以使用条件语句作为 CupertinoSlidingSegmentedControl 的一部分来控制 Flutter 中显示的选项数量?
问题描述
我希望有 2 个滑动控制选项,除非整数变量 > 0,在这种情况下将有 3 个选项
我正在使用以下代码块
child: CupertinoSlidingSegmentedControl(
children: {
0: Text('Option 1'),
1: Text('Option 2'),
2: Text('Option 3')
},
groupValue: _sliding,
onValueChanged: (newValue) {
(...)
}),
理想情况下,我希望选项 3 仅在myInteger
大于 0 时显示,我尝试了以下代码但失败了
child: CupertinoSlidingSegmentedControl(
children: {
0: Text('Option 1'),
1: Text('Option 2'),
if (myInteger > 0) {
2: Text('Option 3')
}
},
groupValue: _sliding,
onValueChanged: (newValue) {
(...)
}),
解决方案
使用集合if
-:
child: CupertinoSlidingSegmentedControl(
children: {
0: Text('Option 1'),
1: Text('Option 2'),
if (myInteger > 0)
2: Text('Option 3'),
},
groupValue: _sliding,
onValueChanged: (newValue) {
(...)
}),
您的尝试没有奏效,因为您在正文周围添加了花括号if
,但这仅适用于正文可以包含多个语句的语句if
。有关更多详细信息,请参阅https://stackoverflow.com/a/66126532/。
推荐阅读
- php - 无法从 Walmart API 获取商品
- html - For 属性可以与 HTML 表单中的 name 属性连接吗?
- javascript - 找出哪个正则表达式与 JavaScript 中的给定字符串匹配
- python - 在kivy应用程序中禁用最小化和最大化按钮
- c# - 忽略 Stryker 突变测试中的日志条目
- mysql - 从 MySQL 5 表,增量计数器和限制相同的出现
- python - 我想知道如何将带有值列表的字典映射到数据框
- spring-boot - 尝试使用 Tomcat 在 Docker 中将 Springboot 应用程序作为 war 文件运行时出现问题
- sbt - SBT 1.5.5 在使用 -mem 选项运行测试时出错
- python - pip:没有为检测器2找到匹配的分布