我通常是 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 中生成多个图块,每个图块都包含来自不同农场的信息。它应该是动态的,以便始终显示与我传递的数组中元素数量相等的图块数量,因为不同的用户将拥有不同数量的农场。
欢迎提供我能阅读的任何示例或文档,或替代解决方案。我已经为此苦苦挣扎了很长时间。
答案 0 :(得分:0)
您可以使用 ListView.builder 小部件,您只需传递要构建的数组,并使用 builder 函数创建依赖于给定数据的小部件
欲了解更多信息: https://api.flutter.dev/flutter/widgets/ListView/ListView.builder.html https://flutter.dev/docs/cookbook/lists/long-lists