繁体   English   中英

管理PaginatedDataTable的DataTableSource的最佳方法?

[英]Best way to manage DataTableSource for PaginatedDataTable?

编写我的第一个Flutter应用程序,我们需要使用PaginatedDataTable 文档说source字段应该

通常,其生存期比PaginatedDataTable小部件本身更长; 每次调用PaginatedDataTable构造函数时,都应重用它。

https://docs.flutter.io/flutter/material/PaginatedDataTable/source.html

最好的管理方式是什么? 有共同的模式吗? 我最初的想法是单例模式,但是我来自Java世界,因此不确定是否正确。

您还可以解释为什么应重新使用DataTableSource吗? 谢谢。

DataTableSource是表的状态。 它包含您所有的表数据以及是否选择了行。

它必须保留在某个地方,因为如果每次重新创建DataSource时,您都会失去所有选择和可能加载的数据。 考虑到数据是延迟加载的,并且可能来自http调用,因此尤其如此。

理想情况下,您需要将DataSource存储在StatefulWidget或类似的东西(InheritedWidget,Stream等)中。

class MyTable extends StatefulWidget {
  @override
  _MyTableState createState() => new _MyTableState();
}

class _MyTableState extends State<MyTable> {
  final myDataSource = new MyDataSource();

  ...
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM