您的要求并不完全清楚,但请查看以下代码。它将“tableData”变量初始化为包含 3 行和 3 列的 2D 列表,最初填充为空字符串。
List<List<String>> tableData = List.generate(3, (_) => List.filled(3, ''));
此代码使用“表格”小部件创建带边框的表格布局。表中的每个单元格都是一个允许文本输入的 TextFormField 小部件,并且 onChanged 使用输入的文本更新 tableData 列表。
Table(
border: TableBorder.all(),
children: List.generate(
tableData.length,
(rowIndex) => TableRow(
children: List.generate(
tableData[rowIndex].length,
(colIndex) => Padding(
padding: const EdgeInsets.all(8.0),
child: TextFormField(
initialValue: tableData[rowIndex][colIndex],
onChanged: (text) {
setState(() {
tableData[rowIndex][colIndex] = text;
});
},
decoration: InputDecoration(
border: OutlineInputBorder(),
hintText: 'Enter text',
),
),
),
),
),
),
)