问题标签 [flutter-change-notifier]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
405 浏览

flutter - ChangeNotifier 不更新消费者

不知道为什么我的 ChangeNotifier 不起作用。

这是我的课:

这是我在 main.dart 中的 Multiprovider:

这是我在 main.dart Widget build(BuildContext context) 中的代码:

这就是我调用 setGlobalLoading 的方式:

不幸的是,我的 loadingState.getGlobalLoadingState 总是打印为 false。但我可以调试它实际上是真的。

0 投票
1 回答
68 浏览

firebase - 如何解决“NoSuchMethodError (NoSuchMethodError: setter 'uid=' was called on null”)

我是新的 ChangeNotifier 提供者。我正在尝试从 firebase 获取用户 ID。我想从firebase查询当前用户的数据。但是当我运行我的应用程序时,会发生错误。

我不知道我的代码有什么问题以及如何解决这个问题。

这是我遇到问题的代码。

这是 ChangeNotifier 类。

这是验证码。

0 投票
1 回答
40 浏览

flutter - 在 Flutter 中使用 Provider 时如何利用接口?

假设我有 3 个 ChangeNotifierProviders “Auth1”、“Auth2”、“Auth3”。我希望它们都实现 login()、signup()、isAuthenticated()。

这样我就可以随时用另一个提供者替换一个提供者。

我可以定义

类 Auth1 扩展 ChangeNotifier 实现 IAuth { ... }

类 Auth2 扩展 ChangeNotifier 实现 IAuth { ... }

类 Auth3 扩展 ChangeNotifier 实现 IAuth { ... }

但是我怎样才能提供这些提供者,以便将来可以毫无问题地替换它们呢?

ChangeNotifierProvider.value(值:Auth1())

一段时间后,我可能想用 Auth2 替换 Auth1 并且我想知道这是否是一个微不足道的问题

0 投票
1 回答
274 浏览

flutter - 在 ChangeNotifier 处理之前我需要 removelistener 吗?

例如,我调用controller.dispose()when page dispose,我还必须调用controller.removeListener?

我看到ChangeNotify有关 dispose 的源代码

我认为是清除监听器,我不需要调用 removeListener 方法。但是有人告诉我我需要在 dispose 方法之前调用 reamoveListener 方法。我感到困惑,希望有人告诉我我是对还是错。提前致谢!

0 投票
1 回答
104 浏览

flutter - 如何在另一个更改通知程序类提供程序中使用来自一个更改通知程序类的方法

我想在另一个提供者方法中使用 fetchdata() 并初始化变量。

图片

0 投票
0 回答
30 浏览

flutter - 具有嵌套消费者的特定实例的 ChangeNotifierProvider

我对 Flutter 非常陌生,尤其是 ChangeNotifierProvider。我有很多扩展 ChangeNotifier 的 AModel 实例。这些对象在一个类中,该类包含一个列表 listOfModels。此类还扩展了 ChangeNotifier。这是因为我想在 AModel 中的某些内容发生更改时使用 AModel 重建单个 Widget,并且我想在列表本身发生更改时重建整个 Widgets 树。因此,当我必须重建所有小部件时,我使用以下代码:

当我将元素添加到 listOfModels 时,一切似乎都正常。我可以选择和取消选择 AStatelessWidget 仅执行该单个小部件的重建。当我尝试从 listOfModels 中删除一个元素时,问题就来了。由于某种原因,消费者仍然访问旧的 AModel 实例。假设我有这种情况:

图片1

我想删除Z5。我希望在 Y2 内只看到两个矩形。Z4 一个,Z6 一个。反而出现了Z5……为什么?谢谢你。

图片2

0 投票
0 回答
35 浏览

flutter - 颤振安全使用 notifyListeners

比如:

当我使用 notifyListeners(),但模型已经处理。如何安全使用 notifyListeners()?

0 投票
1 回答
129 浏览

flutter - 如何在使用 providerListener 的消费者中打开状态通知器时获取数据列表。扑

一旦页面打开,这就会给我错误 Unhandled Exception: setState() or markNeedsBuild() 在构建期间调用。如何解决这个问题。

0 投票
1 回答
191 浏览

flutter - 颤振错误 - _InheritedProviderScope(值:'Provider'的实例,监听值)

我目前正在使用 Flutter 中的应用程序,并且正在使用 Provider 进行状态管理。我正在使用 ChangeNotifierProvider 的 . AvProvider 是一个类,因为类 AvProvider 扩展了 ChangeNotifier 以打开时间选择器以使用方法选择时间,然后使用 notifyListeners(); 更新并在应用程序中将所选时间显示为文本。

在尝试实现这一点时,我在模拟器屏幕上收到以下错误:

在此处输入图像描述

_InheritedProviderScope(value: 'Provider' 的实例,监听值)。

如何让选定的时间显示在计时器图标的正下方?

这是我的模型课。

这是我的屏幕代码的一部分。

在我的代码中,我为开始时间和结束时间保留了两个时间选择器。在这里,我只为 END 时间选择器放置了提供者和消费者。

0 投票
0 回答
209 浏览

flutter - 在 Flutter 中使用 ValueListenableBuilder 切换倒数计时器的可见性?

我的小部件树中有以下 ValueListenableBuilder。我希望它在录制开始时打开倒数计时器的可见性。

这是;

通过这种方法更新;

并在录音开始时调用;

问题是,尽管该_pageManager.countIsVisible();命令确实成功地打开了我的倒数计时器的可见性,但不幸的是,它似乎也阻止了该await _recorder!.start();命令。因此录制没有开始。

奇怪的是,如果我再次单击录制按钮,它就会开始录制。但我想要的是一个流畅的动作,IE;我单击记录,倒数计时器变得可见并且记录开始。

任何人都可以看到问题吗?