首页 > 解决方案 > 如何/我可以使用flutter的提供程序模块来有效地处理具有可变数量控件的动态生成页面?

问题描述

如何/我可以使用flutter的提供程序模块来有效地处理具有可变数量控件的动态生成页面?

假设我有一个数据库,用户可以在其中添加行和一个类似于以下内容的 UI:

<用户信息小部件>

<其他一些数据小部件>

<RowWidget 查看和修改第 1 行>

...

<RowWidget 查看和修改第 n 行>

假设每一行都由一个 RowInfo 对象定义。如果我创建一个包含 List<RowInfo> 的 ChangeNotifier,我可以让每个 RowWidget 与该单个 ChangeNotifier 通信并通过某种 id 或名称来标识自己。但是,如果我这样做,那么每次与任何 RowWidget 关联的状态发生更改时,每个 RowWidget 都会重新构建。如果我使 RowWidget 有状态或在每个 RowWidget 中使用提供程序,我可以让它们单独更新,但是我失去了让其他小部件在何时做出反应的选项它们会发生变化,例如,如果某个其他小部件显示有关所选行的信息,我可能希望在关联的 RowWidget 更改其状态时更新它,并且我认为我失去了有效执行此操作的能力。

这两个正常选项可用吗?

我是否遗漏了一个或两个方面的东西?

我是否应该将状态向上移动到 List<RowInfo> 样式方法并认识到性能损失不是什么大不了的事?

标签: flutterflutter-provider

解决方案


推荐阅读