问题标签 [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 投票
0 回答
301 浏览

flutter - ChangeNotifier 侦听器和处置。内存泄漏?

我很好奇创建新对象是否会删除所有附加的侦听器。这是简单的代码:

0 投票
1 回答
675 浏览

flutter - 如何在 ChangeNotifer 中使用 Flutter 钩子

假设我们有一个带有 的复杂模型ChangeNotifer,那么当模型更改时我应该如何自动更新 UI?

这是我想出的,但看起来很奇怪,对吗,有没有更好的方法呢?

ps:类似useStateListenableuseListenableProvider

0 投票
1 回答
257 浏览

flutter - 如何在 Flutter 中将 Model 与 Provider 分离?

假设我们的模型/文件夹中有一个模型:

然后我们在 providers/ 文件夹中为这个模型创建一个提供者:

问题是如何使模型在这个提供者中被扩展,以避免重复?解决方案:

ProductsProvider如果我们稍后为列表创建另一个提供者(复数),则不起作用。

0 投票
2 回答
272 浏览

flutter - 参数类型“Future<>”不能分配给参数类型“”

我正在尝试构建一个 GridView 列表。当我创建一个简单的“玩家”列表时,这一切都有效,但现在我尝试使用 sqflite 持久化数据,但出现错误:

错误:无法将参数类型“Future”分配给参数类型“int”

这是我的列表生成器小部件:

这就是我获取列表计数的方式:

0 投票
0 回答
1429 浏览

flutter - 难以将商品添加到购物车 - Flutter

我的Cart模型如下

我的CartData通知程序类具有_cartList预加载的数据,如下所示:

我希望能够使用我的addItemToCart()方法将项目即时添加到我现有的购物车项目列表中,并立即在我的购物车页面上显示它们。

在我的购物屏幕中,我有一些声明如下:

但是,当我调用 addItemToCart 方法时,我无法从购物屏幕将商品添加到购物车,如下所示:

这是显示购物车项目的结帐屏幕:

我在这里能错过什么?

0 投票
1 回答
331 浏览

flutter - ChangeNotifierProxyProvider 获取空值

我是新来的。

在用户登录时找到我的应用程序语言环境信息。所以这个想法是当用户登录时,它将语言环境传递给 AppLanguage。

我已经编写了 ChangeNotifierProxyProvider 来获取身份验证信息中的语言环境并创建一个 AppLanuage 对象

在 ChangeNotifierProxyProvider 中,我将 appLang 设为 null。auth 对象正确地不为空。

我不明白为什么我会为空?

我确实在这里创建了它,对吗?

它不应该作为更新的参数吗?

0 投票
1 回答
392 浏览

flutter - Flutter 一起使用 navigator 和 ChangeNotifierProvider 的最佳方法是什么

我是新手,这个问题可能是一个非常基本的问题。我有一个firebase电话身份验证登录页面来实现这一点,如果用户已登录,则导航到主页,否则如果用户是新用户,则导航到注册页面

问题是,无论何时在提供者处更改值,消费者都会收到通知并重建构建方法。我将无法在构建方法中收听它们并返回 Navigator.of(context).pushNamed()。知道将 ChangeNotifierProvider 与侦听器和相应的页面导航一起使用的正确方法是什么吗?

我有如下的登录类和提供者类,

提前致谢。

0 投票
2 回答
511 浏览

list - Flutter:当我在提供程序槽函数中更新我的列表时,我的屏幕没有更新

我的主文件中的提供程序中有一个包含函数的列表。如果我通过小部件中的功能更新此列表(通过按下按钮),它似乎可以工作,但不会改变屏幕上的任何内容......

我有两个屏幕,应该使用相同的列表归档,所以我需要提供程序功能。在我看来(当然不一定是正确的)我对功能进行了正确的编码,所以问题可能是屏幕没有更新,尽管我使用了消费者。如果你能告诉我我的代码中的错误,那就太好了。

如果你能看看我的问题,我会很高兴 - 谢谢!

主文件:

小部件:

0 投票
1 回答
1244 浏览

flutter - Flutter Provider 错误:在构建 HomePage(脏,状态:flutter:_HomePageState#fb424)时引发了以下 ProviderNotFoundException:

我的代码实际上正在运行,并且目前正在使用从以前版本的颤振构建的应用程序。我使用相同的代码再次构建了它,但升级了 Flutter 1.22 并且它现在在 Provider 上导致错误。由于代码确实有效,我似乎无法弄清楚为什么它会引发错误。

这是我的代码:

根据颤动导致小部件的文件或错误:'''

'''

我主要提供了多提供者,而子作为 MaterialApp。因此主文件如下所示:

'''

错误如下:

0 投票
1 回答
68 浏览

flutter - 如何为 ChangeNotifierProvider 创建依赖项并使其等待完成?

我有 ChangeNotifierProvider 对象,它使用存储的 sqflite 资产数据库,需要在开始时加载作为未来。问题是 ChangeNotifierProvider 不会等待未来的操作完成。我试图添加一种机制让 ChangeNotifierProvider 等待但无法成功。(尝试过 FutureBuilder、FutureProvider、一起使用等等……)

注意:FutureProvider 解决了等待问题,但它不像 ChangeNotifierProvider 那样监听对象。当我在多提供者中使用它们时,我有两个不同的对象实例......

我在 StackOverflow 或其他站点中找到的所有解决方案都没有针对此特定问题提供通用解决方案或方法。(或者我找不到)我相信一定有一个非常基本的解决方案/方法,并决定寻求您的帮助。如何实现此代码的未来,或者如何让 ChangeNotifierProvider 等待未来?

这是我的摘要代码;