有没有办法在DART/Ffltter中创建编译时方法?我想创建一个helper方法来返回DataTable标头.旧代码如下所示:
DataTable(
columns: const [
DataColumn(label: Row(children: [Icon(Icons.foo1), Text('Bar 1')])),
DataColumn(label: Row(children: [Icon(Icons.foo2), Text('Bar 2')])),
DataColumn(label: Row(children: [Icon(Icons.foo3), Text('Bar 3')])),
DataColumn(label: Row(children: [Icon(Icons.foo4), Text('Bar 4')])),
],
// ...
为了使代码更具可读性和一致性,我创建了一个helper方法:
static Row _generateTableHeader(IconData icon, String text) {
return Row(children: [Icon(icon), Text(text)],);
}
我现在无法将列数组声明为const
.有没有办法将_generateTableHeader
方法声明为编译时方法,以便我仍然可以使用coluns数组的常量声明,并且仍然可以从性能提升中获益?
或者我应该改成StatelessWidget
分?或者是从Row
继承的类?