创建一个颤振列表磁贴,其中磁贴的数量与我正在传递的列表中的元素一样多

时间:2021-03-18 14:29:27

标签: flutter dart

我通常是 Laravel 前端开发人员,我正在尝试学习 flutter 和 dart 作为移动前端的介绍。在 Laravel Blade 的 html 中,当你想为你提供给前面的每个数据创建视觉元素时,它正是这样的:一个 for each 重复元素但具有不同数据的循环。我理解 Dart 使用了不同的范式,我太困在“laravel 锥”中,发现很难实现应该在 dart 中完成的解决方案。 现在的工作方式是:我在发布请求中获得了一些数据,将其保存在 Todo 类中并将其作为参数传递给下一个视图的渲染器:

班级

class Todo {
  String name;
  String lastacc;
  String created_at;
  String farmDoc;
  String farmName;
  String clientId;
  List farms;

  Todo(this.name, this.lastacc, this.created_at, this.farmDoc, this.farmName, this.farms, this.clientId);
}

功能

Todo infoAcc = Todo(name, lastAcc, createdAcc, farmDoc, farmName, farms, id );
        Future.delayed(
          const Duration(milliseconds: 500),
          () {
            Navigator.push(
                context,
                MaterialPageRoute(
                    builder: (context) => Farmlist(),
                    settings: RouteSettings(arguments: infoAcc)));
          },
        );

这很好用,在函数之前我设法正确设置了变量并且通过调试我知道它工作正常;现在我有了另一个视图,即 Farmlist,它应该从中获取 de List 农场并使用它在 ListTile 中生成多个图块,每个图块都包含来自不同农场的信息。它应该是动态的,以便始终显示与我传递的数组中元素数量相等的图块数量,因为不同的用户将拥有不同数量的农场。

欢迎提供我能阅读的任何示例或文档,或替代解决方案。我已经为此苦苦挣扎了很长时间。

1 个答案:

答案 0 :(得分:0)

您可以使用 ListView.builder 小部件,您只需传递要构建的数组,并使用 builder 函数创建依赖于给定数据的小部件

欲了解更多信息: https://api.flutter.dev/flutter/widgets/ListView/ListView.builder.html https://flutter.dev/docs/cookbook/lists/long-lists