您可以使用
listOfColumns.map(((element) => DataRow(...))).toList()
这是使用此方法的代码。
class DataTableWidget extends StatelessWidget { final List> listOfColumns = [ {"Name": "AAAAAA", "Number": "1", "State": "Yes"}, {"Name": "BBBBBB", "Number": "2", "State": "no"}, {"Name": "CCCCCC", "Number": "3", "State": "Yes"} ]; // DataTableWidget(this.listOfColumns); // Getting the data from outside, on initialization @override Widget build(BuildContext context) { return DataTable( columns: [ DataColumn(label: Text('Patch')), DataColumn(label: Text('Version')), DataColumn(label: Text('Ready')), ], rows: listOfColumns // Loops through dataColumnText, each iteration assigning the value to element .map( ((element) => DataRow( cells: [ DataCell(Text(element["Name"])), //Extracting from Map element the value DataCell(Text(element["Number"])), DataCell(Text(element["State"])), ], )), ) .toList(), ); } }