【问题标题】:Iterate through a list on button press in flutter using dart [closed]使用飞镖在颤动中遍历按钮按下列表[关闭]
【发布时间】:2021-07-08 01:34:06
【问题描述】:

您好,我需要在列表中显示一项。想要在每次按下按钮时逐一遍历列表吗?。但我没有找到办法。这是我的清单

[
{
"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`
]

【问题讨论】:

  • 您的意思是每次按下按钮时都要逐个遍历列表吗?
  • 是的,我需要帮助...

标签: flutter dictionary listview dart


【解决方案1】:

由于您有自己的列表,我创建了一个名为weekdays 的示例列表。请将该列表替换为您的 weeksModel 列表。

我所做的是flutter中的基本列表迭代,没什么。由于我没有你的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"),
        ),
      ],
    );
  }
}

这能回答你的问题吗?

【讨论】:

  • 我这里有一个演示版https://6074dd06066e7e0017e7a659.mockapi.io/api/weeksdata/weeksDate
  • 您应该在原始问题中包含此内容..
  • 我无法获得每个项目的索引..
  • 您是否能够通过获取响应来生成weeksModel 列表?仍然不知道WeeksModel 模型。
  • 您好,感谢您的回答能够弄清楚。使用您的回答帮助我指出了正确的方向:在这里我必须等待按顺序返回的未来列表按照您的建议遍历它。 void loadweekdata()async{ List weekdays = await API.getDates(); await Future.delayed(Duration(seconds: 1)).then((value) { setState(() { loading = false; weekday = weekdays; }); }); setState(() { // 工作日 = 工作日; }); }
猜你喜欢
  • 2021-07-20
  • 1970-01-01
  • 2021-12-18
  • 2019-12-12
  • 1970-01-01
  • 1970-01-01
  • 2020-08-12
  • 1970-01-01
  • 2021-01-24
相关资源
最近更新 更多