首页 > 解决方案 > 颤振在 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),
            ]
            ),
          ),

标签: flutterdart

解决方案


您应该创建一个 Func 以获取列表中的所有值。

List<Widget> getPickerItems() {
    List<Text> itemsCurrency = [];
    for (var currency in currenciesList) {      
      itemsCurrency.add(Text(currency));
    }
    return itemsCurrency;
  }

并将其添加到 CupertinoPicker 的子项中:

CupertinoPicker(             
              children: getPickerItems(),
)

推荐阅读