Functional programming 在Flatter中,如何使用流API将项目列表转换为表小部件?
在颤振应用程序中,我有一个包含25个项目的Functional programming 在Flatter中,如何使用流API将项目列表转换为表小部件?,functional-programming,stream,dart,flutter,flutter-layout,Functional Programming,Stream,Dart,Flutter,Flutter Layout,在颤振应用程序中,我有一个包含25个项目的列表(例如intnumber),我希望将其显示在5行5列的表格中。我想使用流API(map,take,等等)使用自己的索引(如ListView.builder)来构建每个项目 我想象的是: Table(children:List.generate(25,(i)=>i.map((i)=>MyTableCell(i)).toList().take(5,into(TableRow())))但这当然不行 我真的不想使用来实现这个目的。有什么想法吗 我希望我能解释
列表
(例如int
number),我希望将其显示在5行5列的表格中。我想使用流API(map
,take
,等等)使用自己的索引(如ListView.builder
)来构建每个项目
我想象的是:
Table(children:List.generate(25,(i)=>i.map((i)=>MyTableCell(i)).toList().take(5,into(TableRow())))
但这当然不行
我真的不想使用来实现这个目的。有什么想法吗
我希望我能解释清楚。如果需要,我会添加详细信息。谢谢。GridView会进行横轴计数,并显示一个项目流。不需要数学。我同意使用网格视图将是最简单的。如果您真的想使用表
,我想挑战在于将您的列表
中的25项划分为列表
,以便您可以将其用作表
的子项
我建议:
yourList.fold([[]], (list, x) {
return list.last.length == 5 ? (list..add([x])) : (list..last.add(x));
});
(这个解决方案无耻地抄袭了-,因为它是一个伟大的-)
然而,有些人可能会说,执行相同操作的for
循环更常见,因此对许多人来说更容易阅读…;-) 使用take
和skip
怎么样?我想不出一种适合我的方法。一个具体的例子会很受欢迎。当然GridView会很棒,但是我看到了当你想要一个不可滚动的小部件时,表格比GridView更受欢迎。