颤抖地将地图列表转换为步进器?

时间:2019-04-26 14:01:06

标签: dart flutter material

我正在使用Flutter创建一个简单的待办事项列表应用程序。我想从地图列表中创建一个Stepper小部件,如下所示。

[
      { 
        'task': 'Cook for 5 min',
        'content': '30',
      },
      {
        'task': 'Stir gently',
        'content': '20',
      },
]

当前,我正在构建器函数中执行此操作:

List<Step> todoSteps = args['todos'].map<Step>((todo) {
      return Step(
        title: Text(todo['task']),
        content: Text(todo['content']),
        isActive: _currentStep >= i, // this is the issue
      );
    }).toList();

然后我使用todoSteps设置Stepper小部件的steps参数。

除了isActive参数外,这几乎可以正常工作,我必须检查_currentStep是否小于索引(i)。但是问题是,当我似乎无法在函数中获取索引时。

我尝试在列表上使用asMap()函数,然后读取索引,但始终会导致错误。

1 个答案:

答案 0 :(得分:0)

.asMap().entries应该提供您所需要的:

List<Step> todoSteps = args['todos'].asMap().entries.map<Step>((e) {
    var i = e.key;
    var todo = e.value;
    return Step(
      title: Text(todo['task']),
      content: Text(todo['content']),
      isActive: _currentStep >= i, // this is the issue
    );
  }).toList();