簡體   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