我想在另一个类中使用 list
。所以我的想法是简单地使用构造函数,但我遇到了一些问题。首先,我想将列表用于 PaginatedDataTable
。因此我为数据源创建了一个新类,我想在这个类中使用我的 DataRows
列表。这是我访问列表的构造函数:
class ExerciseDataSource extends DataTableSource {
ExerciseDataSource({Key key, this.list}) : super(key: key);
final List<DataRow> list;
我在使用密钥时遇到错误,提示“未定义命名参数‘key’。”
我在我的课堂上也遇到了一个错误,我有一个名为 _rowList 的 DataRows 列表,其中包含错误“实例成员 '_rowList' 无法在初始化程序中访问。”:
class _ExerciseTableState extends State<ExerciseTable> {
final ExerciseDataSource _rowsDataSource = ExerciseDataSource(list: _rowList);```
答案 0 :(得分:0)
如果您查看 DataTableSource
的定义,您会注意到它扩展了一个ChangeNotifier
,而不是一个 Widget
。
您不能将类的属性用作另一个属性的属性。您可以将代码修改为如下所示:
class __ExerciseTableState extends State<_ExerciseTable> {
final List _rowList = [];
ExerciseDataSource _rowsDataSource;
@override
void initState() {
_rowsDataSource = ExerciseDataSource(list: _rowList);
super.initState();
}
@override
Widget build(BuildContext context) {
return Container();
}
}