我已经累积超过3天了。我想动态地将 TableRow 添加到 Table 中。但是我不知道如何从列表数据添加 TableRows。
Table(
columnWidths: {
0: FlexColumnWidth(1.0),
1: FlexColumnWidth(2.0),
},
border: TableBorder.all(),
defaultVerticalAlignment: TableCellVerticalAlignment.middle,
children: <TableRow>[
// HOW CAN I MAKE ITERATION with List length.
]),
Run Code Online (Sandbox Code Playgroud)
请让我知道该怎么做。谢谢。
在方法中预先创建列表build。
final rows = <TableRow>[];
for (var rowData in myRowDataList) {
rows.add(TableRow(
... // Generate a TableRow using rowData
));
}
...
Table(
columnWidths: {
0: FlexColumnWidth(1.0),
1: FlexColumnWidth(2.0),
},
border: TableBorder.all(),
defaultVerticalAlignment: TableCellVerticalAlignment.middle,
children: rows,
),
Run Code Online (Sandbox Code Playgroud)
或者,从 Dart 2.3 开始,您可以在列表声明本身中使用 for 循环。
Table(
columnWidths: {
0: FlexColumnWidth(1.0),
1: FlexColumnWidth(2.0),
},
border: TableBorder.all(),
defaultVerticalAlignment: TableCellVerticalAlignment.middle,
children: [
for (var rowData in myRowDataList)
TableData(
... // Generate a TableRow using rowData
),
],
),
Run Code Online (Sandbox Code Playgroud)
请在 flutter dart 中找到简单的循环表
Widget build(BuildContext context) {
var list = [{'id':"123123","date":"20/08/2016"},{'id':"123124","date":"26/08/2016"},{'id':"123125","date":"26/08/2016"}];
return Scaffold(
appBar: AppBar(
title: Text(widget.title),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
children: <Widget>[
Text('Recent Claims'),
Table(
border: TableBorder.all(color: Colors.black),
columnWidths: {
0: FixedColumnWidth(100.0),
1: FixedColumnWidth(100.0)
},
children:[
for(var item in list ) TableRow(children: [
Text(item['id']),
Text(item['date']),
])]
),
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12955 次 |
| 最近记录: |