Flutter 使用dart在“颤振”中按按钮时遍历列表

Flutter 使用dart在“颤振”中按按钮时遍历列表,flutter,dictionary,listview,dart,Flutter,Dictionary,Listview,Dart,您好,我需要在列表中显示一个项目。要在每次按下按钮时逐个遍历列表吗?。但我没能找到一条路。这是我的名单 [ { "id": 1, "name": "quidem molestiae enim", "date": "2021, Jun, 20-24" }, { "id": 2, "name": "sunt qui excepturi placeat

您好,我需要在列表中显示一个项目。要在每次按下按钮时逐个遍历列表吗?。但我没能找到一条路。这是我的名单

[
{
"id": 1,
"name": "quidem molestiae enim",
"date": "2021, Jun, 20-24"
},
{
"id": 2,
"name": "sunt qui excepturi placeat culpa",
"date": "2019, Feb, 20-24"
},
{
"id": 3,
"name": "omnis laborum odio",
"date": "2021, Jan, 20-26"
},`enter code here`
]

因为您有自己的列表,所以我创建了一个名为
工作日
的示例列表。请将该列表替换为您的
weeksModel
列表

我在flifter中做了一个基本的列表迭代,没什么。因为我没有你的
WeeksModel
模型或
e
json,我想我不能再帮你了

import 'package:flutter/material.dart';

class WeekWidget extends StatefulWidget {
  @override
  _WeekWidgetState createState() => _WeekWidgetState();
}

class _WeekWidgetState extends State<WeekWidget> {
  List weekdays = [
    'Monday',
    'Tuesday',
    'Wednesday',
    'Thursday',
    'Friday',
    'Saturday',
    'Sunday'
  ];

  int index = 0;
  @override
  Widget build(BuildContext context) {
    return Column(
      children: [
        Text(weekdays[index]),
        ElevatedButton(
          onPressed: () {
            if (index < weekdays.length - 1) {
              setState(() {
                index++;
              });
            }
          },
          child: Text("Next item"),
        ),
      ],
    );
  }
}
导入“包装:颤振/材料.省道”;
类WeekWidget扩展StatefulWidget{
@凌驾
_WeekWidgetState createState()=>\u WeekWidgetState();
}
类WeekWidgetState扩展了状态{
列出工作日=[
“星期一”,
"星期二",,
“星期三”,
"星期四",,
“星期五”,
“星期六”,
“星期日”
];
int指数=0;
@凌驾
小部件构建(构建上下文){
返回列(
儿童:[
文本(工作日[索引]),
升降按钮(
已按下:(){
如果(索引

这是否回答了您的问题?

您的意思是要逐一遍历列表,每次按下按钮?是的,我需要帮助…我这里有一个演示easehttps://6074dd06066e7e0017e7a659.mockapi.io/api/weeksdata/weeksDateYou 应该在你的原始问题中包含这一点。我无法获取每个项目的索引。你是否能够通过获取反应如何?仍然不知道
WeeksModel
model。您好,谢谢您的回答,我终于找到了答案。。使用您的答案帮助我找到了正确的方向:在这里,我必须等待我的未来列表返回,以便按照您的建议迭代它。void loadweekdata()异步{List weekdays=wait API.getDates();wait Future.delayed(持续时间(秒数:1))。然后((值){setState((){loading=false;weekday=weekdays;});});setState((){//weekday=weekday;});}