问题标签 [flutter-state]

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 回答
323 浏览

flutter - 如何在从另一个小部件继承的小部件中设置数据?

所以继承的小部件对于将数据向下传递树很有用,但是如果继承的小部件是不可变的,我如何首先设置该数据?我正在尝试为 OTP auth 设置一个电话号码,然后在另一个屏幕上显示该号码。提供者目前对我来说有点先进,我该如何处理?谢谢你

0 投票
2 回答
543 浏览

flutter - 如何解决错误:未定义“setState”

你能帮我解决这个问题吗setState()

错误:
没有为“MyApp”类型定义方法“setState”。
尝试将名称更正为现有方法的名称,或定义名为“setState”的方法。

代码:

0 投票
0 回答
259 浏览

flutter - 在未来完成/到期后,正在观察未来的 Riverpod 状态提供者会发生什么

我猜下面的代码会首先返回一个空列表,然后(当future完成时),它将返回future提供的实际数据。

这一切都很好......但我想知道我的列表数据是否会被保留和缓存(这就是我想要的),或者它是否会在未来完成时被清除。

换句话说,“historyItemsProvider”是从下面的手表重建 TWICE 还是 3 次?

0 投票
1 回答
121 浏览

android - 为什么导航弹出后重新加载页面

ProfileView:在此处输入图像描述对不起我的英语。最近开始研究flutter,出现了如下问题:我有一个ProfileView页面,这个页面有订阅者和订阅按钮,当你点击按钮时,你会进入用户列表,然后点击任意一个用户后,您转到该用户的 ProfileView 页面...如果我返回,则重新加载第一个 Profile View 页面并显示最后一个打开用户的 ProfileView 页面。如何将所有内容保存在堆栈中?

这是关注者视图:在此处输入图像描述

0 投票
0 回答
670 浏览

flutter - 当 AutomaticKeepAliveClientMixin 状态小部件离开屏幕(或者应该已经被释放或卸载)时如何调用函数?

在应用程序中,我将PageView其用作主页和 3 个页面 - 配置文件、控制台、带有AutomaticKeepAliveClientMixin扩展名的设置。其中,2 个页面(个人资料和控制台)再次使用了“侧边菜单”屏幕PageView

问题是当我在主页之间切换时,我希望如果“侧边菜单”在任何页面上打开,它(第二个PageView)应该跳转到初始页面。

这是代码的简化版本-

材料应用-

主页小部件 -

同样的三页 -

可能的方式——

  • 检测选项卡或页面何时离开屏幕并调用该controller.jumpToPage()方法。(如果可能最好)

像这样的东西-

  • PageView先按onPageChanged属性听变化。
  • willPopScope检查它是否被推后弹出。

感谢你的帮助...

0 投票
1 回答
32 浏览

flutter - 获取特定数据后如何更新 ListView?

我遇到过这个问题,

  • _openFile我使用此功能读取文件。阅读后,我想使用提取的数据更新 ListView。但是我找不到在执行_openFile.

有什么帮助吗?

0 投票
1 回答
29 浏览

flutter - Flutter 多状态管理

我有一个像这样大小的盒子

我想根据一个叫做_status的状态的值来改变盒子装饰的颜色,_status可以有四个值1,2,3,4,根据状态的值我想改变颜色盒子装饰像这样 1 - 蓝色 2 - 红色 3- 琥珀色 4 - 绿色

通常使用的三元语句无济于事,因为它仅适用于有限数量的状态值有没有一种方法可以实现这一点?

谢谢

0 投票
2 回答
262 浏览

flutter - 如何使用提供者创建提交/放弃更改模式?

什么是颤振中模态小部件(基于提供者)状态管理的最佳实践,当用户进行编辑时,更改不会传播到父页面,直到用户确认/关闭模态小部件。可选地,用户可以选择放弃更改。

简而言之:

  • 具有确定和取消操作的模态小部件,或
  • 模态小部件在模态关闭时应用更改

目前,我的解决方案看起来像这样

  1. 创建当前状态的副本
  2. 调用颤振的 show___() 函数并使用提供者(使用 .value 构造函数)包装小部件以公开状态副本
  3. 如果需要,在模态小部件关闭时更新原始状态

案例 #2 的示例:

但这也存在一些问题,例如:

  • 我应该在哪里处理 tmpState?
  • ProxyProvider 没有 .value 构造函数。
  • 如果在 Provider 中创建了create: 临时状态,当模式关闭时如何安全地访问该临时状态?

更新:在我当前的应用程序中,我在小部件树的顶部有一个 MultiProvider 小部件,它创建并提供多个过滤器状态对象。例如。FooFiltersState、BarFiltersState 和 BazFiltersState。它们是单独的类,因为这三个都扩展了一个ToggleableCollection<T> extends ChangeNotifierToggleableCollectionPickerState<T> extends ToggleableCollection<T>类。具有通用属性和功能(如 等)的抽象基bool areAllSelected()toggleAllSelection()

还有一个FiltersState extends ChangeNotifier类,其中包含activeFiltersCount一个取决于 Foo、Bar 和 Baz 过滤器状态的值。这就是我使用的原因

提供 FiltersState 实例。

用户可以通过打开模态底部工作表来编辑这些过滤器,但对过滤器的更改不得反映在应用程序中,直到通过在稀松布上用胶带关闭底部工作表。编辑时可以在底部工作表上看到更改。

Foo 过滤器在底部工作表上显示为筹码。Bar 和 baz 过滤器在嵌套对话框窗口(从底部打开)中进行编辑。在编辑 Bar 或 Baz 过滤器集合时,更改必须仅反映在嵌套对话窗口内。确认嵌套对话框后,更改现在会反映在底部工作表上。如果嵌套对话框被取消,更改不会转移到底部工作表。和以前一样,这些更改在底部工作表关闭之前在应用程序内不可见。

为了避免不必要的小部件重建,选择器小部件用于显示过滤器值。

通过与 Yellowgray 的讨论,我认为我应该将所有非依赖值移出代理提供者。因此,临时代理提供者可以创建完全独立于原始状态对象的新临时状态对象。而对于其他对象,临时状态是从原始状态构建的,并像上面的示例一样传递给值构造函数。

0 投票
1 回答
419 浏览

flutter - (Flutter) StreamBuilder 只返回 null

我正在尝试创建一个“CategoryStream”来根据用户的选择更新 UI。

这是我的流:

我的 StreamBuilder 看起来像这样:

因此,当用户选择一个新类别时,我尝试像这样更新 Stream:

无论我做什么,结果总是null。尽管 print() 函数中显示了正确的类别......我错过了什么?

也许我需要使用 StreamProvider?不是 StreamBuilder?因为我正在将来自 Parent-Widget 的数据添加到 Child-Widget 的 Child-Widget ..

0 投票
0 回答
44 浏览

flutter - Flutter:我可以使用 android_action.Action.ACTION_DELETE 卸载应用程序。但是卸载后重新启动我的整个应用程序,如何处理这个问题

我使用以下软件包卸载了我的颤振应用程序中的任何应用程序:

这是原始问题的链接:[Uninstall app in flutter using android intent][1]

[1]: https://stackoverflow.com/questions/55163793/how-to-uninstall-an-app-in-flutter-programatically/62196226?![AndroidManifest.xml图像]( https://i.stack. imgur.com/8L3VY.jpg )