我尝试在DataColumn
中使用Expanded
,但得到了Incorrect use of ParentDataWidget
我的想法是,我想让文本在列的中心。所以我的代码如下:
DataColumn(
label: Expanded(
child: Center(
child: Text(
'Center',
),
),
),
),
唯一的方法是使用Expanded
,但它会使我成为Incorrect use of ParentDataWidget
那么,除了Expanded
之外,如何使我的子小部件与父小部件(在我的例子中是DataColumn
小部件)具有相同的大小呢?
谢谢
PS.我的DataTable
的完整代码
Widget getDataTable() {
return DataTable(
columns: const [
DataColumn(
label: Expanded(
child: Center(
child: Text(
'center 1',
),
),
),
),
DataColumn(
label: Expanded(
child: Center(
child: Text(
'center 2',
),
),
),
),
],
rows: const [
DataRow(
cells: [
DataCell(
Expanded(
child: Center(child: Text('centered content')),
),
),
DataCell(
Expanded(
child: Center(child: Text('centered content 2')),
),
),
],
),
],
);
}
2条答案
按热度按时间ff29svar1#
在flutter代码片段中,您编写的代码没有问题,运行良好。可能还有其他错误?下面是我用
DataColumn()
测试并复制flutter代码片段。sczxawaw2#
DataCell()
由SizedBox.shrink()
组成:SizedBox.shrink()
:它创建一个长方体,该长方体将变得尽可能小到其父项所允许的大小。Expanded()
:它试图占用所有可用空间所以,这就是为什么你会犯错误,
ParentDataWidget使用不当
避免用
Expanded
PackageDataCell
: