【问题标题】:Fill a GridView with List Map results用 List Map 结果填充 GridView
【发布时间】:2020-08-13 03:18:27
【问题描述】:

我正在尝试用列表映射的结果填充 GridView

  var players = [
    {"Name": "Josh", "Age": "25"},
    {"Name": "Rick", "Age": "26"},
    {"Name": "Michael", "Age": "22"},
    {"Name": "Sander", "Age": "23"},
  ];

我想用上面的结果填充一个 GridView,但是当我使用 List.generate 时出现消息“无法分配元素类型 'List>'到列表类型 'Widget'.dartlist_element_type_not_assignable " 为我出现。

我尝试填充 GridView 的代码

    GridView.count(
      crossAxisCount: 2,
      children: [
        List.generate(players.length, (index) => {
          
        })
      ],
    )

有没有办法填充这个 GridView?

【问题讨论】:

    标签: flutter dart


    【解决方案1】:

    你可以做任何一种方式:

    1st: By using the .map() method:

     var players = [
        {"Name": "Josh", "Age": "25"},
        {"Name": "Rick", "Age": "26"},
        {"Name": "Michael", "Age": "22"},
        {"Name": "Sander", "Age": "23"},
     ];
    
     GridView.count(
        crossAxisCount: 2,
        children: players.map(
          (player) => Column(children: [
            Text(player['Name']),
            Text(player['Age'])
            ])).toList()
     )
    

    2nd: By using the List.generate() method

    GridView.count(
        crossAxisCount: 2,
        children: List<Widget>.generate(
          players.length,
          (index) => Column(children: [
            Text(players[index]['Name']),
            Text(players[index]['Age'])
            ])
        )
    )
    

    【讨论】:

    • 就是这样!谢谢你:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-28
    • 1970-01-01
    • 1970-01-01
    • 2023-03-23
    • 1970-01-01
    相关资源
    最近更新 更多