我希望它看起来如何(在->之后):
是否可以像这张图片那样做?
edit:就像Hugo所说的那样,通过将data_table.dart的代码复制到一个新文件中,更改了_dataRowHeight,并改为使用它来解决了这个问题。
答案 0 :(得分:3)
不可能以简单的方式做到这一点。
DataTable
是在DataRow
内部定义的属性(如您所见,是私有的)。由于Widget
不是Container
,因此您也不能强制使其适合DataTable
。
最好的选择是复制DataTable
的源代码以创建自己的_dataRowHeight
,因此可以修改属性DataTable
。
扩展build()
也是一种选择,但是您将不得不重写方法DataTable
,并且仍然从"@types/react": "^16.8.17"
复制很多内容。
答案 1 :(得分:2)
在Dart VM版本:2.7.0中,此问题已解决。您可以使用参数dataRowHeight解决您的问题。还有更多有用的参数:
DataTable({
Key key,
@required this.columns,
this.sortColumnIndex,
this.sortAscending = true,
this.onSelectAll,
this.dataRowHeight = kMinInteractiveDimension,
this.headingRowHeight = 56.0,
this.horizontalMargin = 24.0,
this.columnSpacing = 56.0,
this.showCheckboxColumn = true,
@required this.rows, })
答案 2 :(得分:1)
快速浏览一下DataTable代码后,看起来填充是一个私有常量,用于该类中的某些私有构建方法。
static const double _tablePadding = 24.0;
如果确实需要使用DataTable小部件,则可以创建自己的扩展DataTable的类,然后重写其build函数以创建自己的_buildDataCell函数,并在其中提供自己的尺寸。