我已经超过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.
    ]),

请让我知道该怎么做。
谢谢。

最佳答案

预先在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,
),

从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
      ),
  ],
),

关于flutter - 如何使用Flutter将TableRow动态添加到表中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59783300/

10-11 09:13