如何在颤振的构造函数中使用列表?

时间:2021-06-22 18:09:39

标签: list flutter dart datatable constructor

我想在另一个类中使用 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);```

1 个答案:

答案 0 :(得分:0)

  1. 如果您查看 DataTableSource 的定义,您会注意到它扩展了一个ChangeNotifier,而不是一个 Widget

  2. 您不能将类的属性用作另一个属性的属性。您可以将代码修改为如下所示:



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();
  }
}