flutter - 颤振在 CupertinoPicker 小部件中使用循环传递字符串列表
问题描述
我试图使用循环在 CupertinoPicker 中传递一个列表,但我想不通
const List<String> currenciesList = [
'AUD',
'BRL',
'CAD',
'CNY',
'EUR',
'GBP',
'HKD',
'IDR',
'ILS',
'INR',
'JPY',
'MXN',
'NOK',
];
Container(
height: 150.0,
alignment: Alignment.center,
padding: EdgeInsets.only(bottom: 30.0),
color: Colors.lightBlue,
child:CupertinoPicker(
backgroundColor: Colors.lightBlue,
itemExtent: 32.0,
onSelectedItemChanged: (selectedIndex){
print(selectedIndex);
}, children:[
Text('USD',style: whiteColor ),
Text('EUR' , style: whiteColor),
Text('GDP', style:whiteColor),
]
),
),
解决方案
您应该创建一个 Func 以获取列表中的所有值。
List<Widget> getPickerItems() {
List<Text> itemsCurrency = [];
for (var currency in currenciesList) {
itemsCurrency.add(Text(currency));
}
return itemsCurrency;
}
并将其添加到 CupertinoPicker 的子项中:
CupertinoPicker(
children: getPickerItems(),
)
推荐阅读
- flutter - 未处理的异常:类型“Null”不是类型转换中“String”类型的子类型
- odbc - 4D ODBC 驱动程序 - 大量连接处于绑定状态
- python - 如何使用 ptyhon 识别单元格是与 google sheet api 合并的单元格
- azure - Azure 成本分析和发票 - 汇率
- python - 如何将循环中创建的数据添加到数组中?
- intellij-idea - 为什么 IntelliJ 实时模板禁用了“编辑变量”?
- c++ - C++ 联合可以对其包含的数字执行数学运算吗?
- android - 运行 Android 测试时出现此错误“selenium.common.exceptions.TimeoutException”
- php - Laravel 在 eloquent 查询期间使用计算
- java - 调用 init 方法失败;嵌套异常是 java.lang.RuntimeException: Can't start redis server