我有一个json文件,其中我从列表中获取对象。对象列表如下所示:
"data": [
{
"title": "Subscription #1",
"subtitle": "12-01-2022",
"description": "Lorem ipsum dolar set amit.",
"link": "subscription-1"
},
{
"title": "Subscription #2",
"subtitle": "19-01-2022",
"description": "Lorem ipsum dolar set amit.",
"link": "subscription-2"
},
{
"title": "Subscription #3",
"subtitle": "04-02-2022",
"description": "Lorem ipsum dolar set amit.",
"link": "subscription-3"
},
{
"title": "Subscription #4",
"subtitle": "Expired",
"description": "Lorem ipsum dolar set amit.",
"link": "subscription-4"
}
]我还有一个视图,其中显示了基于生成的json对象的表内容:
Table(
border: TableBorder.all(
width: 1.0, color: Colors.white),
children: [
for (var object in widget.selectedMenuItems[index]
['data'])
TableRow(children: [
TableCell(
child: Row(
mainAxisAlignment:
MainAxisAlignment.spaceAround,
children: <Widget>[
if (object.containsKey("title"))
Text(
object["title"].toString(),
style:
TextStyle(color: Colors.white),
)
else
Container(),
if (object.containsKey("subtitle"))
Text(
object["subtitle"].toString(),
style:
TextStyle(color: Colors.white),
)
else
Container(),
if (object.containsKey("description"))
Text(
object["description"].toString(),
style:
TextStyle(color: Colors.white),
)
else
Container()
],
),
)
])
]),这是表的输出:

如您所见,单元格不相应地对齐。这是因为我从对象中分别显示每个键值和if else,因为有时这些键不存在于对象中,所以我不想要空的表内容。
例如,我有一个缺少键的列表。这是一个表的例子,其中键副标题缺少对象FAQ的:

我必须指出,单独生成表格单元格对我来说是一种有用的方法。我的问题是,如何才能相应地对齐这些单元格,并仍然生成表单元格?
发布于 2022-03-31 09:24:59
表小部件有一些方法来限制其子部件(行)的大小。
columnWidths: {
0: FlexColumnWidth(1),
1: FlexColumnWidth(2),
}, 您还可以用固定的列宽度设置它。
defaultColumnWidth: FixedColumnWidth(100),
您的问题源于不同大小的行,这就是它们不对齐的原因。
https://stackoverflow.com/questions/71689303
复制相似问题