如何专门为 Flutter 中的 Class 方法构建 Provider 包的 Consumer Widget?

Posted

技术标签:

【中文标题】如何专门为 Flutter 中的 Class 方法构建 Provider 包的 Consumer Widget?【英文标题】:How to build Consumer Widget of Provider Package Specifically for method of Class in Flutter? 【发布时间】:2021-11-10 06:06:16 【问题描述】:

我想以这样的方式使用提供者包的消费者小部件,它只会在类的特定方法运行或 notifyListeners() 调用时运行。

这是一个类

Class Example with ChangeNotifier
void exampleMethod()
//....Do SomeThing
notifyListeners();
  

void exampleOneMethod()
//....Do SomeThing
notifyListeners();
  

所以当我像这样在一些小部件中调用消费者时:

  Consumer<Example>(builder:(_,ex,__)=>SomeWidget(
   ex.exampleOneMethod();
      )

只有在 exampleOneMethod 运行而不是在其他方法上运行时,Soo Consumer Widget 才会重新构建。

【问题讨论】:

【参考方案1】:

如果其他方法调用notifyListeners(),则应重建消费者小部件如果有人打电话通知,则重建

【讨论】:

是的,就是这样,但是当该方法调用 notifyListeners() 时,它将重建整个 Stateless/Statefull 小部件。但我只想重建整个 Stateless/Statefull 小部件的特定部分。 也许您可以尝试将 Consumer 放在更深的树调用中,您对 exampleOneMethod 的使用是什么?

以上是关于如何专门为 Flutter 中的 Class 方法构建 Provider 包的 Consumer Widget?的主要内容,如果未能解决你的问题,请参考以下文章

Flutter 应用中的无限列表

如何将值发送到 Flutter 中的多个屏幕?

Flutter 中extends、implements、with

Flutter 在整个屏幕上禁用触摸

如何在flutter中将具有文档ID的自定义对象设置为firestore中的集合?

可能的create class扩展了Flutter中的颜色吗?